{"version":3,"sources":["../main.js","../shared/single-value-field.js","../shared/multi-value-field.js","../shared/range-field.js","../../jspm_packages/npm/blueimp-file-upload@9.11.2/js/vendor/jquery.ui.widget.js","../../jspm_packages/npm/blueimp-file-upload@9.11.2/js/jquery.fileupload.js","../../jspm_packages/npm/blueimp-file-upload@9.11.2/js/jquery.iframe-transport.js","../../jspm_packages/npm/blueimp-file-upload@9.11.2/js/jquery.fileupload-process.js","../../jspm_packages/npm/blueimp-file-upload@9.11.2/js/jquery.fileupload-validate.js","../shared/fileupload.js","../search/form.js","../statistics/deposited-statistics.js","../statistics/draft-statistics.js","../statistics/document-statistics.js","../statistics/user-statistics.js","../statistics/statistics.js","../../jspm_packages/github/xdan/datetimepicker@2.5.4/build/jquery.datetimepicker.full.min.js","../../jspm_packages/github/xdan/datetimepicker@2.5.4.js","../utils/bindings/datetimepicker.js","../../jspm_packages/github/harvesthq/chosen@1.6.2/chosen.jquery.js","../../jspm_packages/github/harvesthq/chosen@1.6.2.js","../utils/bindings/multiselect.js","../../jspm_packages/github/Pixabay/jQuery-tagEditor@1.0.20/jquery.caret.min.js","../../jspm_packages/github/Pixabay/jQuery-tagEditor@1.0.20/jquery.tag-editor.js","../utils/bindings/multiInput.js","../../jspm_packages/github/iamceege/tooltipster@3.3.0/js/jquery.tooltipster.min.js","../../jspm_packages/github/iamceege/tooltipster@3.3.0.js","../utils/bindings/tooltipster.js","../utils/bindings/onEnter.js","../utils/bindings/numberFormat.js","index-bindings.js","index-viewmodel.js"],"names":["define","$","moment","locale","localeData","months","m","format","nominative","split","accusative","nounCase","indexOf","test","month","window","isPageBeingRefreshed","isOldIE","div","document","createElement","innerHTML","getElementsByTagName","length","on","e","preventDefault","stopPropagation","Function","prototype","inheritsFrom","parentClassOrObject","constructor","this","parent","extend","testDate","Date","fromISO","s","day","tz","rx","p","exec","i","L","parseInt","UTC","apply","getDate","setUTCMinutes","getUTCMinutes","NaN","addEventListener","WindowPrototype","DocumentPrototype","ElementPrototype","removeEventListener","dispatchEvent","registry","type","listener","target","unshift","event","currentTarget","returnValue","cancelBubble","srcElement","call","attachEvent","register","index","detachEvent","splice","eventObject","fireEvent","Window","HTMLDocument","Element","ko","SingleValueField","field","disabled","self","Name","DisplayName","HiddenInputName","Value","observable","Hint","IsEnabled","getDescription","value","unwrap","clear","toJSON","copy","toJS","MultiValueField","HiddenInputNameCompositionType","CanChangeCompositionType","Values","observableArray","CompositionType","CompositionTypes","ValuesAvailable","CompositionHint","values","map","val","displayValue","utils","arrayFirst","item","Key","join","selectAll","addValue","match","undefined","push","removeValue","word","remove","getValueDisplayName","setCompositionType","RangeField","compacted","HiddenInputNameMinValue","HiddenInputNameMaxValue","MinValue","MaxValue","IsCompacted","subscribe","newValue","maxValue","showRange","formattingFunction","minValue","factory","exports","require","jQuery","widget_uuid","widget_slice","Array","slice","cleanData","orig","elems","events","elem","_data","triggerHandler","widget","name","base","fullName","existingConstructor","basePrototype","proxiedPrototype","namespace","Widget","expr","toLowerCase","data","options","element","_createWidget","arguments","version","_proto","_childConstructors","each","prop","isFunction","_super","_superApply","args","__super","__superApply","widgetEventPrefix","widgetName","widgetFullName","child","childPrototype","bridge","key","input","inputIndex","inputLength","hasOwnProperty","isPlainObject","object","fn","isMethodCall","methodValue","instance","charAt","jquery","pushStack","get","error","concat","option","_init","defaultElement","create","uuid","eventNamespace","bindings","hoverable","focusable","_on","destroy","style","ownerDocument","defaultView","parentWindow","_getCreateOptions","_create","_trigger","_getCreateEventData","noop","_destroy","unbind","removeData","camelCase","removeAttr","removeClass","parts","curOption","shift","pop","_setOptions","_setOption","toggleClass","enable","disable","suppressDisabledCheck","handlers","delegateElement","add","handler","handlerProxy","hasClass","guid","eventName","selector","delegate","bind","_off","undelegate","not","_delay","delay","setTimeout","_hoverable","mouseenter","addClass","mouseleave","_focusable","focusin","focusout","callback","Event","originalEvent","trigger","isDefaultPrevented","show","hide","method","defaultEffect","effect","hasOptions","effectName","duration","isEmptyObject","complete","effects","easing","queue","next","process","getDragHandler","isDragOver","dataTransfer","inArray","types","delegatedEvent","dropEffect","support","fileInput","RegExp","navigator","userAgent","xhrFileUpload","ProgressEvent","FileReader","xhrFormDataFileUpload","FormData","blobSlice","Blob","webkitSlice","mozSlice","dropZone","pasteZone","replaceFileInput","paramName","singleFileUploads","limitMultiFileUploads","limitMultiFileUploadSize","limitMultiFileUploadSizeOverhead","sequentialUploads","limitConcurrentUploads","forceIframeTransport","redirect","redirectParamName","postMessage","multipart","maxChunkSize","uploadedBytes","recalculateProgress","progressInterval","bitrateInterval","autoUpload","messages","i18n","message","context","toString","replace","formData","form","serializeArray","fileupload","done","submit","processData","contentType","cache","timeout","_specialOptions","_blobSlice","_BitrateTimer","timestamp","now","getTime","loaded","bitrate","getBitrate","interval","timeDiff","_isXHRUpload","_getFormData","isArray","_getTotal","files","total","file","size","_initProgressObject","obj","progress","_progress","_initResponseObject","_response","_onProgress","lengthComputable","_time","Math","floor","chunkSize","_bitrateTimer","_initProgressListener","that","xhr","ajaxSettings","upload","oe","_isInstanceOf","Object","_initXHRData","headers","contentRange","blob","encodeURI","append","uploadName","_initIframeSettings","targetHost","url","dataType","location","host","_initDataSettings","_chunkedUpload","_getParamName","_initFormSettings","href","toUpperCase","formAcceptCharset","attr","_getAJAXSettings","_getDeferredState","deferred","state","isResolved","isRejected","_enhancePromise","promise","success","fail","always","_getXHRPromise","resolveOrReject","dfd","Deferred","resolveWith","rejectWith","abort","_addConvenienceMethods","getPromise","resolveFunc","rejectFunc","_processQueue","pipe","errorThrown","jqXHR","_onSend","processing","response","_getUploadedBytes","range","getResponseHeader","upperBytesPos","testOnly","fs","ub","mcs","o","currentLoaded","ajax","result","textStatus","_beforeSend","_active","_onDone","_onFail","_onAlways","jqXHRorResult","jqXHRorError","aborted","slot","send","_sending","nextSlot","_slots","resolve","_sequence","_onAdd","paramNameSet","paramNameSlice","fileSet","filesLength","limit","limitSize","overhead","batchSize","j","originalFiles","newData","_replaceFileInput","inputClone","clone","restoreFocus","is","activeElement","fileInputClone","reset","after","detach","focus","el","_handleFileTreeEntry","entry","path","dirReader","errorHandler","successHandler","entries","_handleFileTreeEntries","readEntries","results","isFile","_file","relativePath","isDirectory","createReader","when","_getDroppedFiles","items","webkitGetAsEntry","getAsEntry","getAsFile","makeArray","_getSingleFileInputFiles","fileName","fileSize","_getFileInputFiles","_onChange","_onPaste","clipboardData","_onDrop","_onDragOver","_onDragEnter","_onDragLeave","_initEventHandlers","dragover","drop","dragenter","dragleave","paste","change","_destroyEventHandlers","reinit","_initSpecialOptions","find","_getRegExp","str","modifiers","_isRegExpOption","_initDataAttributes","attributes","active","reject","then","counter","ajaxTransport","async","iframe","addParamChar","initialIframeSrc","_","completeCallback","fileInputClones","paramNames","contents","firstChild","Error","appendTo","replaceWith","body","ajaxSetup","converters","iframe text","text","iframe json","parseJSON","iframe html","html","iframe xml","xmlDoc","isXMLDoc","parseXML","XMLDocument","xml","iframe script","globalEval","originalAdd","blueimp","processQueue","$this","processActions","_processFile","originalData","chain","settings","func","action","_transformProcessQueue","prefix","_processing","opts","_processingQueue","acceptFileTypes","maxFileSize","minFileSize","maxNumberOfFiles","getNumberOfFiles","validate","FileUpload","uploadCallback","errorCallback","AutoUpload","ResultMessage","IsError","FileName","IsLoading","Progress","UploadCallback","ErrorCallback","CanShowProgress","featureDetection","xhr2","CanSubmit","pureComputed","cancelUploading","init","uploadOptions","Url","MaxFileSize","AcceptFileTypes","DropZoneSelector","$dropZone","currentFile","JSON","parse","ok","SearchForm","filter","SearchModes","Text","File","SearchString","TopicSearchFileName","TopicSearchDocumentId","SearchMode","fields","FormFields","Author","PublicationDate","DocumentType","Rank","DissertationCouncilCode","VakCode","IsExtendedFilterFilled","unwrapObservable","IsEmpty","IsExtended","fileUploadOptions","page","urls","Search","UploadFileForTopicSearch","dropZoneSelector","token","setSearchMode","Years","arrayForEach","getFullYear","reverse","cancelFileSearch","postJson","DeleteTopicSearchFile","Document","getFilterModel","clearExtended","toggleExtended","searchMode","DepositedStatistics","statistics","Deleted","Deleting","Fixed","Fixing","DocumentsPerType","refresh","getDocumentsCount","documentTypes","DraftStatistics","WithErrors","InProgress","UserInteractionRequired","DocumentStatistics","Licensed","UserStatistics","NonValidated","Validated","Online","Statistics","DateFormatter","t","a","r","n","dateSettings","days","daysShort","monthsShort","meridiem","ordinal","1","2","3","separators","validParts","intParts","tzParts","tzClip","parseDate","d","u","l","f","c","h","g","y","date","year","hour","min","sec","isNaN","guessDate","substr","setMonth","setDate","setFullYear","setHours","setMinutes","setSeconds","parseFormat","D","w","N","getDay","z","Y","round","W","F","getMonth","M","A","G","B","getUTCHours","getUTCSeconds","getHours","H","getMinutes","getSeconds","getMilliseconds","String","T","I","O","getTimezoneOffset","abs","P","Z","U","formatDate","amd","module","desc","ar","dayOfWeekShort","dayOfWeek","ro","id","bg","fa","ru","uk","en","de","nl","tr","fr","es","th","pl","pt","ch","se","kr","it","da","no","ja","vi","sl","cs","hu","az","bs","ca","en-GB","et","eu","fi","gl","hr","lt","lv","mk","mn","pt-BR","sk","sq","sr-YU","sr","sv","zh-TW","zh","he","hy","kg","rm","ka","rtl","formatTime","startDate","step","monthChangeSpinner","closeOnDateSelect","closeOnTimeSelect","closeOnWithoutClick","closeOnInputClick","timepicker","datepicker","weeks","defaultTime","defaultDate","minDate","maxDate","minTime","maxTime","disabledMinTime","disabledMaxTime","allowTimes","opened","initTime","inline","theme","onSelectDate","onSelectTime","onChangeMonth","onGetWeekOfYear","onChangeYear","onChangeDateTime","onShow","onClose","onGenerate","withoutCopyright","inverseButton","hours12","prev","dayOfWeekStart","parentID","timeHeightInTimePicker","timepickerScrollbar","todayButton","prevButton","nextButton","defaultSelect","scrollMonth","scrollTime","scrollInput","lazyInit","mask","validateOnBlur","allowBlank","yearStart","yearEnd","monthStart","monthEnd","fixed","roundTime","className","weekends","highlightedDates","highlightedPeriods","allowDates","allowDateRe","disabledDates","disabledWeekDays","yearOffset","beforeShowDay","enterLikeTab","showApplyButton","substring","datetimepicker","setLocale","setDateFormatter","RFC_2822","ATOM","ISO_8601","RFC_822","RFC_850","RFC_1036","RFC_1123","RSS","W3C","getComputedStyle","getPropertyValue","currentStyle","countDaysInMonth","xdsoftScroller","x","touches","changedTouches","clientX","clientY","children","eq","clientHeight","offsetHeight","css","off","deltaY","v","b","k","S","C","clearTimeout","strToDate","strToDateTime","strtotime","isValidDate","J","selection","createRange","getBookmark","charCodeAt","setSelectionRange","selectionStart","getElementById","createTextRange","collapse","moveEnd","moveStart","select","which","fromCharCode","trim","E","R","V","q","X","currentTime","getValue","getCurrentTime","setOptions","open","setCurrentTime","toggle","empty","dayOfWeekStartPrev","nextMonth","prevMonth","getWeekOfYear","ceil","marginTop","minDateTime","deltaX","parentNode","nodeName","offset","top","left","width","height","scrollTop","documentElement","clientWidth","outerWidth","offsetWidth","scrollLeft","outerHeight","position","bottom","unmousewheel","keyCode","defaultValue","defaults","fix","detail","wheelDelta","wheelDeltaY","wheelDeltaX","axis","HORIZONTAL_AXIS","deltaMode","max","normalizeOffset","getBoundingClientRect","deltaFactor","offsetX","offsetY","dispatch","handle","adjustOldDeltas","documentMode","fixHooks","mouseHooks","special","mousewheel","setup","onmousewheel","getLineHeight","getPageHeight","teardown","bindingHandlers","valueAccessor","allBindingsAccessor","datetimepickerOptions","$el","domNodeDisposal","addDisposeCallback","update","current","AbstractChosen","Chosen","SelectParser","_ref","__hasProp","__extends","ctor","__super__","options_index","parsed","add_node","add_group","add_option","group","group_position","_i","_len","_results","array_index","label","escapeExpression","title","classes","childNodes","group_disabled","selected","group_array_index","group_label","cssText","unsafe_chars","<",">","\"","'","`","chr","select_to_array","parser","form_field","browser_is_supported","is_multiple","multiple","set_default_text","set_default_values","set_up_html","register_observers","on_ready","_this","click_test_action","evt","test_active_click","activate_action","activate_field","active_field","mouse_on_container","results_showing","result_highlighted","allow_single_deselect","disable_search_threshold","disable_search","enable_split_word_search","group_search","search_contains","single_backstroke_delete","max_selected_options","Infinity","inherit_select_classes","display_selected_options","display_disabled_options","include_group_label_in_selected","max_shown_results","Number","POSITIVE_INFINITY","case_sensitive_search","getAttribute","default_text","placeholder_text_multiple","placeholder_text","default_multiple_text","placeholder_text_single","default_single_text","results_none_found","no_results_text","default_no_result_text","choice_label","mouse_enter","mouse_leave","input_focus","container_mousedown","input_blur","blur_test","results_option_build","content","data_content","shown_results","results_data","result_add_group","result_add_option","first","choice_build","single_set_selected_text","option_el","search_match","include_option_in_results","setAttribute","search_text","outerHTML","group_el","group_match","active_options","results_update_field","results_reset_cleanup","result_clear_highlight","results_build","winnow_results","reset_single_select_options","results_toggle","results_hide","results_show","results_search","escapedSearchText","regex","results_group","searchText","startpos","zregex","no_results_clear","get_search_text","get_search_regex","search_string_match","search","update_results_content","no_results","winnow_results_set_highlight","escaped_search_string","regex_anchor","regex_flag","search_string","part","choices_count","selected_option_count","choices_click","is_disabled","keyup_checker","stroke","search_field_scale","backstroke_length","keydown_backstroke","pending_backstroke","result_select","clipboard_event_checker","container_width","search_results_touchstart","touch_started","search_results_mouseover","search_results_touchmove","search_results_mouseout","search_results_touchend","search_results_mouseup","tmp","appendChild","appName","chosen","input_field","form_field_jq","current_selectedIndex","selectedIndex","is_rtl","container_classes","container_props","class","container","dropdown","search_field","search_results","search_no_results","search_choices","search_container","selected_item","set_tab_index","set_label_behavior","container_mouseup","search_results_mousewheel","keydown_checker","tabIndex","search_field_disabled","close_field","parents","results_reset","delta","clear_backstroke","show_search_field_default","active_container","closest","parsing","readOnly","result_do_highlight","high_bottom","high_top","maxHeight","visible_bottom","visible_top","result_highlight","ti","form_field_label","choice","close_link","data-option-array-index","choice_destroy_link_click","before","choice_destroy","link","result_deselect","high","metaKey","ctrlKey","single_deselect_control_build","pos","result_data","deselected","do_high","selected_results","terms","no_results_html","keydown_arrow","next_sib","nextAll","keyup_arrow","prev_sibs","prevAll","next_available_destroy","siblings","last","_ref1","f_width","style_block","styles","multiselect","allBindings","viewModel","params","checked","changedValue","has","valueToAdd","optionsValue","selectedOptions","valueToRemove","isObservable","caret","contentEditable","getSelection","getRangeAt","cloneRange","selectNodeContents","setEnd","endContainer","endOffset","moveToElementText","setEndPoint","duplicate","moveToBookmark","move","tagEditorInput","fontSize","fontFamily","fontWeight","letterSpacing","whiteSpace","insertAfter","tagEditor","blur","escape","tag","blur_result","dregex","delimiter","ed","editor","tags","maxTags","maxLength","click","sel","tagName","startContainer","rangeCount","splits","set_placeholder","placeholder","tag_list","update_globals","old_tags","onChange","split_cleanup","cb_val","li","sub_tags","old_tag","exceeded","forceLowercase","beforeTagSave","removeDuplicates","clickDelete","new_tag","closest_tag","loc","dist","to","tag_x","tag_y","pageY","pageX","insertBefore","beforeTagDelete","animate","animateDelete","left_percent","caret_pos","autocomplete","aco","ac_select","ui","pasted_content","inp","$t","prev_tag","next_tag","shiftKey","initialTags","sortable","distance","cancel","helper","multiInput","changes","status","bodyOverflowX","callbacks","checkInterval","Content","$elProxy","elProxyPosition","enabled","mouseIsOverProxy","random","Status","timerHide","timerShow","$tooltip","iconTheme","animation","arrow","arrowColor","autoClose","contentAsHTML","contentCloning","debug","minWidth","maxWidth","functionInit","functionBefore","functionReady","functionAfter","hideOnClick","icon","iconCloning","iconDesktop","iconTouch","interactive","interactiveTolerance","onlyOne","positionTracker","positionTrackerCallback","restoration","speed","timer","touchDevices","updateAnimation","querySelector","_content_set","_show","_showNow","clearQueue","stop","fadeIn","_content_insert","reposition","_interval_set","setInterval","_interval_cancel","_repositionInfo","dimension","clearInterval","_update","-webkit-transition","-moz-transition","-o-transition","-ms-transition","transition","fadeTo","fadeOut","innerWidth","parseFloat","K","grep","elementIcon","elementTooltip","console","log","one","tooltipster","onEnter","keydown","numberFormat","$element","resultString","main","HomeViewModel","initialData","Filter","FormId","formId","RefreshTimeoutSuccess","refreshTimeoutSuccess","RefreshTimeoutError","refreshTimeoutError","refreshStatistics","formFields","transformDateToUtcString","GetStatistics","checkAndHandleCustomError","Result","handleAjaxError"],"mappings":"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","file":"home-index-a4a9697c3d.js","sourceRoot":"/source/","sourcesContent":["define([\"jquery\", \"moment\"],\r\n function($, moment) {\r\n moment.locale(\"ru\");\r\n // Склонение названий месяцев с учетов диапазонов дат (замена для штатного метода moment.js)\r\n moment.localeData().months = function(m, format) {\r\n var months = {\r\n 'nominative': \"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь\"\r\n .split(\"_\"),\r\n 'accusative': \"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря\"\r\n .split(\"_\")\r\n },\r\n nounCase = format.indexOf(\"не раньше\") >= 0 ||\r\n format.indexOf(\"не позже\") >= 0 ||\r\n (/D[oD]?(\\[[^\\[\\]]*\\]|\\s+)+MMMM?/).test(format)\r\n ? \"accusative\"\r\n : \"nominative\";\r\n return months[nounCase][m.month()];\r\n };\r\n // Для предотвращения ajax-ошибки при обновлении страницы,\r\n // переходе по ссылке и т.п. (см. Utils.handleAjaxError)\r\n window.isPageBeingRefreshed = false;\r\n\r\n window.isOldIE = (function() {\r\n var div = document.createElement(\"div\");\r\n div.innerHTML = \"\";\r\n return (div.getElementsByTagName(\"i\").length === 1);\r\n }());\r\n\r\n $(window)\r\n .on(\r\n \"beforeunload\",\r\n function () {\r\n window.isPageBeingRefreshed = true;\r\n });\r\n\r\n // Не даем браузеру открывать файлы при перетаскивании\r\n // на страницу (действие по умолчанию), не работает в <=IE8\r\n $(document)\r\n .on(\r\n \"dragover\",\r\n function(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n );\r\n $(document)\r\n .on(\r\n \"drop\",\r\n function(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n );\r\n\r\n // Для наследования\r\n Function.prototype.inheritsFrom = function(parentClassOrObject) {\r\n if (parentClassOrObject.constructor === Function) {\r\n //Normal Inheritance \r\n this.prototype = new parentClassOrObject;\r\n this.prototype.constructor = this;\r\n this.prototype.parent = parentClassOrObject.prototype;\r\n } else {\r\n //Pure Virtual Inheritance \r\n this.prototype = $.extend(this.prototype, parentClassOrObject);\r\n this.prototype.constructor = this;\r\n this.prototype.parent = parentClassOrObject;\r\n }\r\n return this;\r\n }\r\n\r\n // IE8 не умеет парсить дату, поэтому при создании дат\r\n // нужно пользоваться Date.fromISO\r\n var testDate = new Date(\"2011-06-02T09:34:29+02:00\");\r\n if (!testDate || +testDate !== 1307000069000) {\r\n Date.fromISO = function(s) {\r\n var day,\r\n tz,\r\n rx = /^(\\d{4}\\-\\d\\d\\-\\d\\d([tT ][\\d:\\.]*)?)([zZ]|([+\\-])(\\d\\d):(\\d\\d))?$/,\r\n p = rx.exec(s) || [];\r\n if (p[1]) {\r\n day = p[1].split(/\\D/);\r\n for (var i = 0, L = day.length; i < L; i++) {\r\n day[i] = parseInt(day[i], 10) || 0;\r\n };\r\n day[1] -= 1;\r\n day = new Date(Date.UTC.apply(Date, day));\r\n if (!day.getDate()) return NaN;\r\n if (p[5]) {\r\n tz = (parseInt(p[5], 10) * 60);\r\n if (p[6]) tz += parseInt(p[6], 10);\r\n if (p[4] === \"+\") tz *= -1;\r\n if (tz) day.setUTCMinutes(day.getUTCMinutes() + tz);\r\n }\r\n return day;\r\n }\r\n return NaN;\r\n }\r\n } else {\r\n Date.fromISO = function(s) {\r\n if (!s) {\r\n return null;\r\n }\r\n return new Date(s);\r\n }\r\n };\r\n\r\n !window.addEventListener && (function (WindowPrototype, DocumentPrototype, ElementPrototype, addEventListener, removeEventListener, dispatchEvent, registry) {\r\n WindowPrototype[addEventListener] = DocumentPrototype[addEventListener] = ElementPrototype[addEventListener] = function (type, listener) {\r\n var target = this;\r\n\r\n registry.unshift([target, type, listener, function (event) {\r\n event.currentTarget = target;\r\n event.preventDefault = function () { event.returnValue = false };\r\n event.stopPropagation = function () { event.cancelBubble = true };\r\n event.target = event.srcElement || target;\r\n\r\n listener.call(target, event);\r\n }]);\r\n\r\n this.attachEvent(\"on\" + type, registry[0][3]);\r\n };\r\n WindowPrototype[removeEventListener] = DocumentPrototype[removeEventListener] = ElementPrototype[removeEventListener] = function (type, listener) {\r\n for (var index = 0, register; register = registry[index]; ++index) {\r\n if (register[0] == this && register[1] == type && register[2] == listener) {\r\n return this.detachEvent(\"on\" + type, registry.splice(index, 1)[0][3]);\r\n }\r\n }\r\n };\r\n WindowPrototype[dispatchEvent] = DocumentPrototype[dispatchEvent] = ElementPrototype[dispatchEvent] = function (eventObject) {\r\n return this.fireEvent(\"on\" + eventObject.type, eventObject);\r\n };\r\n })(Window.prototype, HTMLDocument.prototype, Element.prototype, \"addEventListener\", \"removeEventListener\", \"dispatchEvent\", []);\r\n });","define([\"knockout\"],\r\n function(ko) {\r\n var SingleValueField = function(field, disabled) {\r\n var self = this;\r\n\r\n field = field || {};\r\n disabled = disabled || false;\r\n\r\n self.Name = field.Name;\r\n self.DisplayName = field.DisplayName ? field.DisplayName : field.Name;\r\n self.HiddenInputName = field.HiddenInputName;\r\n self.Value = ko.observable(field.Value);\r\n self.Hint = field.Hint;\r\n\r\n self.IsEnabled = ko.observable(!disabled);\r\n }\r\n SingleValueField.prototype.getDescription = function () {\r\n var self = this;\r\n var value = ko.unwrap(self.Value);\r\n if (!value) {\r\n return \"\";\r\n }\r\n return self.DisplayName + \": \" + value;\r\n }\r\n SingleValueField.prototype.clear = function() {\r\n var self = this;\r\n self.Value(null);\r\n }\r\n SingleValueField.prototype.toJSON = function() {\r\n var copy = ko.toJS(this);\r\n if (copy.IsEnabled) {\r\n delete copy.Hint;\r\n delete copy.DisplayName;\r\n delete copy.IsEnabled;\r\n return copy;\r\n } else {\r\n return null;\r\n }\r\n }\r\n return SingleValueField;\r\n });","define([\"jquery\", \"knockout\"],\r\n function($, ko) {\r\n var MultiValueField = function(field, disabled) {\r\n var self = this;\r\n\r\n field = field || {};\r\n disabled = disabled || false;\r\n\r\n self.Name = field.Name;\r\n self.DisplayName = field.DisplayName ? field.DisplayName : field.Name;\r\n self.HiddenInputName = field.HiddenInputName;\r\n self.HiddenInputNameCompositionType = field.HiddenInputNameCompositionType;\r\n self.CanChangeCompositionType = field.CanChangeCompositionType;\r\n self.Value = ko.observable();\r\n self.Values = ko.observableArray(field.Values ? field.Values : []);\r\n self.CompositionType = ko.observable(field.CompositionType);\r\n self.CompositionTypes = field.CompositionTypes;\r\n self.ValuesAvailable = field.ValuesAvailable;\r\n self.Hint = field.Hint;\r\n self.CompositionHint = field.CompositionHint;\r\n\r\n self.IsEnabled = ko.observable(!disabled);\r\n }\r\n MultiValueField.prototype.getDescription = function () {\r\n var self = this;\r\n var values = ko.unwrap(self.Values) || [];\r\n if (values.length === 0) {\r\n return \"\";\r\n }\r\n if (self.ValuesAvailable) {\r\n values = $.map(values,\r\n function(val) {\r\n var displayValue = ko.utils.arrayFirst(self.ValuesAvailable || [],\r\n function(item) {\r\n return item.Key === val;\r\n });\r\n return displayValue ? displayValue.Value : null;\r\n });\r\n }\r\n return self.DisplayName + \": \" + values.join(', ');\r\n }\r\n MultiValueField.prototype.clear = function() {\r\n var self = this;\r\n self.Value(null);\r\n self.Values([]);\r\n }\r\n MultiValueField.prototype.selectAll = function() {\r\n var self = this;\r\n self.Values($.map(self.ValuesAvailable,\r\n function(item) {\r\n return item.Key;\r\n }));\r\n }\r\n MultiValueField.prototype.toJSON = function() {\r\n var self = this;\r\n if (self.IsEnabled) {\r\n return {\r\n Name: self.Name,\r\n Values: self.Values,\r\n CompositionType: self.CompositionType\r\n };\r\n } else {\r\n return null;\r\n }\r\n };\r\n MultiValueField.prototype.addValue = function() {\r\n var self = this;\r\n var val = self.Value();\r\n if (self.ValuesAvailable && self.ValuesAvailable.length > 0) {\r\n var match = ko.utils.arrayFirst(self.ValuesAvailable,\r\n function(item) {\r\n return item.Key === val;\r\n });\r\n if (!match)\r\n return;\r\n }\r\n if (val != null && val != undefined && self.Values.length < 10 && self.Values.indexOf(val) < 0) {\r\n self.Values.push(val);\r\n }\r\n };\r\n MultiValueField.prototype.removeValue = function(word) {\r\n this.Values.remove(word);\r\n };\r\n MultiValueField.prototype.getValueDisplayName = function(value) {\r\n var self = this;\r\n\r\n var match = ko.utils.arrayFirst(self.ValuesAvailable,\r\n function(item) {\r\n return item.Key === value;\r\n });\r\n\r\n if (match)\r\n return match.Value;\r\n else\r\n return \"\";\r\n };\r\n MultiValueField.prototype.setCompositionType = function(type) {\r\n var self = this;\r\n self.CompositionType(type);\r\n }\r\n\r\n return MultiValueField;\r\n });","define([\"knockout\"],\r\n function(ko) {\r\n var RangeField = function(field, disabled, compacted) {\r\n var self = this;\r\n\r\n field = field || {};\r\n disabled = disabled || false;\r\n compacted = compacted || false;\r\n\r\n self.Name = field.Name;\r\n self.DisplayName = field.DisplayName ? field.DisplayName : field.Name;\r\n self.HiddenInputNameMinValue = field.HiddenInputNameMinValue;\r\n self.HiddenInputNameMaxValue = field.HiddenInputNameMaxValue;\r\n self.MinValue = ko.observable(field.MinValue);\r\n self.MaxValue = ko.observable(field.MaxValue);\r\n self.Hint = field.Hint;\r\n\r\n self.IsCompacted = ko.observable(compacted && !field.MaxValue);\r\n self.IsEnabled = ko.observable(!disabled);\r\n\r\n self.MinValue.subscribe(function (newValue) { \r\n // В компактном виде левая граница управляет обеими\r\n if (self.IsCompacted()) {\r\n self.MaxValue(newValue);\r\n return;\r\n }\r\n // Следим, чтобы левая граница была <= правой\r\n var maxValue = self.MaxValue();\r\n if (newValue !== null && maxValue != null && newValue > maxValue) {\r\n self.MaxValue(newValue);\r\n }\r\n });\r\n self.MaxValue.subscribe(function (newValue) {\r\n if (newValue === null) {\r\n return;\r\n }\r\n \r\n // Если не совпадаем с левой границей, разворачиваем\r\n if (self.IsCompacted()\r\n && newValue != self.MinValue()) {\r\n self.IsCompacted(false);\r\n }\r\n // Следим, чтобы левая граница была <= правой\r\n if (newValue < self.MinValue()) {\r\n self.MinValue(newValue);\r\n }\r\n });\r\n self.IsCompacted.subscribe(function (newValue) {\r\n // Если сворачиваем поле, правая граница сводится к левой\r\n if (newValue) {\r\n self.MaxValue(self.MinValue());\r\n }\r\n // А если разворачиваем, то обнуляем правую границу\r\n else {\r\n self.MaxValue(null);\r\n }\r\n });\r\n }\r\n RangeField.prototype.showRange = function () {\r\n var self = this;\r\n self.IsCompacted(false);\r\n }\r\n RangeField.prototype.getDescription = function (formattingFunction) {\r\n var self = this;\r\n var minValue = ko.unwrap(self.MinValue), maxValue = ko.unwrap(self.MaxValue);\r\n if (!minValue && !maxValue) {\r\n return \"\";\r\n }\r\n if (typeof formattingFunction === \"function\") {\r\n minValue = formattingFunction(minValue);\r\n maxValue = formattingFunction(maxValue);\r\n }\r\n return self.DisplayName + \": \" + minValue + \" \\u2013 \" + maxValue;\r\n }\r\n RangeField.prototype.clear = function() {\r\n var self = this;\r\n self.MinValue(null);\r\n self.MaxValue(null);\r\n }\r\n RangeField.prototype.toJSON = function() {\r\n var copy = ko.toJS(this);\r\n if (copy.IsEnabled) {\r\n delete copy.Hint;\r\n delete copy.DisplayName;\r\n delete copy.IsEnabled;\r\n return copy;\r\n } else {\r\n return null;\r\n }\r\n };\r\n return RangeField;\r\n });","/* */ \n\"format cjs\";\n/*! jQuery UI - v1.11.4+CommonJS - 2015-08-28\n* http://jqueryui.com\n* Includes: widget.js\n* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */\n\n(function( factory ) {\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([ \"jquery\" ], factory );\n\n\t} else if ( typeof exports === \"object\" ) {\n\n\t\t// Node/CommonJS\n\t\tfactory( require( \"jquery\" ) );\n\n\t} else {\n\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n}(function( $ ) {\n/*!\n * jQuery UI Widget 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/jQuery.widget/\n */\n\n\nvar widget_uuid = 0,\n\twidget_slice = Array.prototype.slice;\n\n$.cleanData = (function( orig ) {\n\treturn function( elems ) {\n\t\tvar events, elem, i;\n\t\tfor ( i = 0; (elem = elems[i]) != null; i++ ) {\n\t\t\ttry {\n\n\t\t\t\t// Only trigger remove when necessary to save time\n\t\t\t\tevents = $._data( elem, \"events\" );\n\t\t\t\tif ( events && events.remove ) {\n\t\t\t\t\t$( elem ).triggerHandler( \"remove\" );\n\t\t\t\t}\n\n\t\t\t// http://bugs.jquery.com/ticket/8235\n\t\t\t} catch ( e ) {}\n\t\t}\n\t\torig( elems );\n\t};\n})( $.cleanData );\n\n$.widget = function( name, base, prototype ) {\n\tvar fullName, existingConstructor, constructor, basePrototype,\n\t\t// proxiedPrototype allows the provided prototype to remain unmodified\n\t\t// so that it can be used as a mixin for multiple widgets (#8876)\n\t\tproxiedPrototype = {},\n\t\tnamespace = name.split( \".\" )[ 0 ];\n\n\tname = name.split( \".\" )[ 1 ];\n\tfullName = namespace + \"-\" + name;\n\n\tif ( !prototype ) {\n\t\tprototype = base;\n\t\tbase = $.Widget;\n\t}\n\n\t// create selector for plugin\n\t$.expr[ \":\" ][ fullName.toLowerCase() ] = function( elem ) {\n\t\treturn !!$.data( elem, fullName );\n\t};\n\n\t$[ namespace ] = $[ namespace ] || {};\n\texistingConstructor = $[ namespace ][ name ];\n\tconstructor = $[ namespace ][ name ] = function( options, element ) {\n\t\t// allow instantiation without \"new\" keyword\n\t\tif ( !this._createWidget ) {\n\t\t\treturn new constructor( options, element );\n\t\t}\n\n\t\t// allow instantiation without initializing for simple inheritance\n\t\t// must use \"new\" keyword (the code above always passes args)\n\t\tif ( arguments.length ) {\n\t\t\tthis._createWidget( options, element );\n\t\t}\n\t};\n\t// extend with the existing constructor to carry over any static properties\n\t$.extend( constructor, existingConstructor, {\n\t\tversion: prototype.version,\n\t\t// copy the object used to create the prototype in case we need to\n\t\t// redefine the widget later\n\t\t_proto: $.extend( {}, prototype ),\n\t\t// track widgets that inherit from this widget in case this widget is\n\t\t// redefined after a widget inherits from it\n\t\t_childConstructors: []\n\t});\n\n\tbasePrototype = new base();\n\t// we need to make the options hash a property directly on the new instance\n\t// otherwise we'll modify the options hash on the prototype that we're\n\t// inheriting from\n\tbasePrototype.options = $.widget.extend( {}, basePrototype.options );\n\t$.each( prototype, function( prop, value ) {\n\t\tif ( !$.isFunction( value ) ) {\n\t\t\tproxiedPrototype[ prop ] = value;\n\t\t\treturn;\n\t\t}\n\t\tproxiedPrototype[ prop ] = (function() {\n\t\t\tvar _super = function() {\n\t\t\t\t\treturn base.prototype[ prop ].apply( this, arguments );\n\t\t\t\t},\n\t\t\t\t_superApply = function( args ) {\n\t\t\t\t\treturn base.prototype[ prop ].apply( this, args );\n\t\t\t\t};\n\t\t\treturn function() {\n\t\t\t\tvar __super = this._super,\n\t\t\t\t\t__superApply = this._superApply,\n\t\t\t\t\treturnValue;\n\n\t\t\t\tthis._super = _super;\n\t\t\t\tthis._superApply = _superApply;\n\n\t\t\t\treturnValue = value.apply( this, arguments );\n\n\t\t\t\tthis._super = __super;\n\t\t\t\tthis._superApply = __superApply;\n\n\t\t\t\treturn returnValue;\n\t\t\t};\n\t\t})();\n\t});\n\tconstructor.prototype = $.widget.extend( basePrototype, {\n\t\t// TODO: remove support for widgetEventPrefix\n\t\t// always use the name + a colon as the prefix, e.g., draggable:start\n\t\t// don't prefix for widgets that aren't DOM-based\n\t\twidgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name\n\t}, proxiedPrototype, {\n\t\tconstructor: constructor,\n\t\tnamespace: namespace,\n\t\twidgetName: name,\n\t\twidgetFullName: fullName\n\t});\n\n\t// If this widget is being redefined then we need to find all widgets that\n\t// are inheriting from it and redefine all of them so that they inherit from\n\t// the new version of this widget. We're essentially trying to replace one\n\t// level in the prototype chain.\n\tif ( existingConstructor ) {\n\t\t$.each( existingConstructor._childConstructors, function( i, child ) {\n\t\t\tvar childPrototype = child.prototype;\n\n\t\t\t// redefine the child widget using the same prototype that was\n\t\t\t// originally used, but inherit from the new version of the base\n\t\t\t$.widget( childPrototype.namespace + \".\" + childPrototype.widgetName, constructor, child._proto );\n\t\t});\n\t\t// remove the list of existing child constructors from the old constructor\n\t\t// so the old child constructors can be garbage collected\n\t\tdelete existingConstructor._childConstructors;\n\t} else {\n\t\tbase._childConstructors.push( constructor );\n\t}\n\n\t$.widget.bridge( name, constructor );\n\n\treturn constructor;\n};\n\n$.widget.extend = function( target ) {\n\tvar input = widget_slice.call( arguments, 1 ),\n\t\tinputIndex = 0,\n\t\tinputLength = input.length,\n\t\tkey,\n\t\tvalue;\n\tfor ( ; inputIndex < inputLength; inputIndex++ ) {\n\t\tfor ( key in input[ inputIndex ] ) {\n\t\t\tvalue = input[ inputIndex ][ key ];\n\t\t\tif ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {\n\t\t\t\t// Clone objects\n\t\t\t\tif ( $.isPlainObject( value ) ) {\n\t\t\t\t\ttarget[ key ] = $.isPlainObject( target[ key ] ) ?\n\t\t\t\t\t\t$.widget.extend( {}, target[ key ], value ) :\n\t\t\t\t\t\t// Don't extend strings, arrays, etc. with objects\n\t\t\t\t\t\t$.widget.extend( {}, value );\n\t\t\t\t// Copy everything else by reference\n\t\t\t\t} else {\n\t\t\t\t\ttarget[ key ] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn target;\n};\n\n$.widget.bridge = function( name, object ) {\n\tvar fullName = object.prototype.widgetFullName || name;\n\t$.fn[ name ] = function( options ) {\n\t\tvar isMethodCall = typeof options === \"string\",\n\t\t\targs = widget_slice.call( arguments, 1 ),\n\t\t\treturnValue = this;\n\n\t\tif ( isMethodCall ) {\n\t\t\tthis.each(function() {\n\t\t\t\tvar methodValue,\n\t\t\t\t\tinstance = $.data( this, fullName );\n\t\t\t\tif ( options === \"instance\" ) {\n\t\t\t\t\treturnValue = instance;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif ( !instance ) {\n\t\t\t\t\treturn $.error( \"cannot call methods on \" + name + \" prior to initialization; \" +\n\t\t\t\t\t\t\"attempted to call method '\" + options + \"'\" );\n\t\t\t\t}\n\t\t\t\tif ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === \"_\" ) {\n\t\t\t\t\treturn $.error( \"no such method '\" + options + \"' for \" + name + \" widget instance\" );\n\t\t\t\t}\n\t\t\t\tmethodValue = instance[ options ].apply( instance, args );\n\t\t\t\tif ( methodValue !== instance && methodValue !== undefined ) {\n\t\t\t\t\treturnValue = methodValue && methodValue.jquery ?\n\t\t\t\t\t\treturnValue.pushStack( methodValue.get() ) :\n\t\t\t\t\t\tmethodValue;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\n\t\t\t// Allow multiple hashes to be passed on init\n\t\t\tif ( args.length ) {\n\t\t\t\toptions = $.widget.extend.apply( null, [ options ].concat(args) );\n\t\t\t}\n\n\t\t\tthis.each(function() {\n\t\t\t\tvar instance = $.data( this, fullName );\n\t\t\t\tif ( instance ) {\n\t\t\t\t\tinstance.option( options || {} );\n\t\t\t\t\tif ( instance._init ) {\n\t\t\t\t\t\tinstance._init();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$.data( this, fullName, new object( options, this ) );\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn returnValue;\n\t};\n};\n\n$.Widget = function( /* options, element */ ) {};\n$.Widget._childConstructors = [];\n\n$.Widget.prototype = {\n\twidgetName: \"widget\",\n\twidgetEventPrefix: \"\",\n\tdefaultElement: \"
\",\n\toptions: {\n\t\tdisabled: false,\n\n\t\t// callbacks\n\t\tcreate: null\n\t},\n\t_createWidget: function( options, element ) {\n\t\telement = $( element || this.defaultElement || this )[ 0 ];\n\t\tthis.element = $( element );\n\t\tthis.uuid = widget_uuid++;\n\t\tthis.eventNamespace = \".\" + this.widgetName + this.uuid;\n\n\t\tthis.bindings = $();\n\t\tthis.hoverable = $();\n\t\tthis.focusable = $();\n\n\t\tif ( element !== this ) {\n\t\t\t$.data( element, this.widgetFullName, this );\n\t\t\tthis._on( true, this.element, {\n\t\t\t\tremove: function( event ) {\n\t\t\t\t\tif ( event.target === element ) {\n\t\t\t\t\t\tthis.destroy();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.document = $( element.style ?\n\t\t\t\t// element within the document\n\t\t\t\telement.ownerDocument :\n\t\t\t\t// element is window or document\n\t\t\t\telement.document || element );\n\t\t\tthis.window = $( this.document[0].defaultView || this.document[0].parentWindow );\n\t\t}\n\n\t\tthis.options = $.widget.extend( {},\n\t\t\tthis.options,\n\t\t\tthis._getCreateOptions(),\n\t\t\toptions );\n\n\t\tthis._create();\n\t\tthis._trigger( \"create\", null, this._getCreateEventData() );\n\t\tthis._init();\n\t},\n\t_getCreateOptions: $.noop,\n\t_getCreateEventData: $.noop,\n\t_create: $.noop,\n\t_init: $.noop,\n\n\tdestroy: function() {\n\t\tthis._destroy();\n\t\t// we can probably remove the unbind calls in 2.0\n\t\t// all event bindings should go through this._on()\n\t\tthis.element\n\t\t\t.unbind( this.eventNamespace )\n\t\t\t.removeData( this.widgetFullName )\n\t\t\t// support: jquery <1.6.3\n\t\t\t// http://bugs.jquery.com/ticket/9413\n\t\t\t.removeData( $.camelCase( this.widgetFullName ) );\n\t\tthis.widget()\n\t\t\t.unbind( this.eventNamespace )\n\t\t\t.removeAttr( \"aria-disabled\" )\n\t\t\t.removeClass(\n\t\t\t\tthis.widgetFullName + \"-disabled \" +\n\t\t\t\t\"ui-state-disabled\" );\n\n\t\t// clean up events and states\n\t\tthis.bindings.unbind( this.eventNamespace );\n\t\tthis.hoverable.removeClass( \"ui-state-hover\" );\n\t\tthis.focusable.removeClass( \"ui-state-focus\" );\n\t},\n\t_destroy: $.noop,\n\n\twidget: function() {\n\t\treturn this.element;\n\t},\n\n\toption: function( key, value ) {\n\t\tvar options = key,\n\t\t\tparts,\n\t\t\tcurOption,\n\t\t\ti;\n\n\t\tif ( arguments.length === 0 ) {\n\t\t\t// don't return a reference to the internal hash\n\t\t\treturn $.widget.extend( {}, this.options );\n\t\t}\n\n\t\tif ( typeof key === \"string\" ) {\n\t\t\t// handle nested keys, e.g., \"foo.bar\" => { foo: { bar: ___ } }\n\t\t\toptions = {};\n\t\t\tparts = key.split( \".\" );\n\t\t\tkey = parts.shift();\n\t\t\tif ( parts.length ) {\n\t\t\t\tcurOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );\n\t\t\t\tfor ( i = 0; i < parts.length - 1; i++ ) {\n\t\t\t\t\tcurOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};\n\t\t\t\t\tcurOption = curOption[ parts[ i ] ];\n\t\t\t\t}\n\t\t\t\tkey = parts.pop();\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn curOption[ key ] === undefined ? null : curOption[ key ];\n\t\t\t\t}\n\t\t\t\tcurOption[ key ] = value;\n\t\t\t} else {\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn this.options[ key ] === undefined ? null : this.options[ key ];\n\t\t\t\t}\n\t\t\t\toptions[ key ] = value;\n\t\t\t}\n\t\t}\n\n\t\tthis._setOptions( options );\n\n\t\treturn this;\n\t},\n\t_setOptions: function( options ) {\n\t\tvar key;\n\n\t\tfor ( key in options ) {\n\t\t\tthis._setOption( key, options[ key ] );\n\t\t}\n\n\t\treturn this;\n\t},\n\t_setOption: function( key, value ) {\n\t\tthis.options[ key ] = value;\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis.widget()\n\t\t\t\t.toggleClass( this.widgetFullName + \"-disabled\", !!value );\n\n\t\t\t// If the widget is becoming disabled, then nothing is interactive\n\t\t\tif ( value ) {\n\t\t\t\tthis.hoverable.removeClass( \"ui-state-hover\" );\n\t\t\t\tthis.focusable.removeClass( \"ui-state-focus\" );\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tenable: function() {\n\t\treturn this._setOptions({ disabled: false });\n\t},\n\tdisable: function() {\n\t\treturn this._setOptions({ disabled: true });\n\t},\n\n\t_on: function( suppressDisabledCheck, element, handlers ) {\n\t\tvar delegateElement,\n\t\t\tinstance = this;\n\n\t\t// no suppressDisabledCheck flag, shuffle arguments\n\t\tif ( typeof suppressDisabledCheck !== \"boolean\" ) {\n\t\t\thandlers = element;\n\t\t\telement = suppressDisabledCheck;\n\t\t\tsuppressDisabledCheck = false;\n\t\t}\n\n\t\t// no element argument, shuffle and use this.element\n\t\tif ( !handlers ) {\n\t\t\thandlers = element;\n\t\t\telement = this.element;\n\t\t\tdelegateElement = this.widget();\n\t\t} else {\n\t\t\telement = delegateElement = $( element );\n\t\t\tthis.bindings = this.bindings.add( element );\n\t\t}\n\n\t\t$.each( handlers, function( event, handler ) {\n\t\t\tfunction handlerProxy() {\n\t\t\t\t// allow widgets to customize the disabled handling\n\t\t\t\t// - disabled as an array instead of boolean\n\t\t\t\t// - disabled class as method for disabling individual parts\n\t\t\t\tif ( !suppressDisabledCheck &&\n\t\t\t\t\t\t( instance.options.disabled === true ||\n\t\t\t\t\t\t\t$( this ).hasClass( \"ui-state-disabled\" ) ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t\t.apply( instance, arguments );\n\t\t\t}\n\n\t\t\t// copy the guid so direct unbinding works\n\t\t\tif ( typeof handler !== \"string\" ) {\n\t\t\t\thandlerProxy.guid = handler.guid =\n\t\t\t\t\thandler.guid || handlerProxy.guid || $.guid++;\n\t\t\t}\n\n\t\t\tvar match = event.match( /^([\\w:-]*)\\s*(.*)$/ ),\n\t\t\t\teventName = match[1] + instance.eventNamespace,\n\t\t\t\tselector = match[2];\n\t\t\tif ( selector ) {\n\t\t\t\tdelegateElement.delegate( selector, eventName, handlerProxy );\n\t\t\t} else {\n\t\t\t\telement.bind( eventName, handlerProxy );\n\t\t\t}\n\t\t});\n\t},\n\n\t_off: function( element, eventName ) {\n\t\teventName = (eventName || \"\").split( \" \" ).join( this.eventNamespace + \" \" ) +\n\t\t\tthis.eventNamespace;\n\t\telement.unbind( eventName ).undelegate( eventName );\n\n\t\t// Clear the stack to avoid memory leaks (#10056)\n\t\tthis.bindings = $( this.bindings.not( element ).get() );\n\t\tthis.focusable = $( this.focusable.not( element ).get() );\n\t\tthis.hoverable = $( this.hoverable.not( element ).get() );\n\t},\n\n\t_delay: function( handler, delay ) {\n\t\tfunction handlerProxy() {\n\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t.apply( instance, arguments );\n\t\t}\n\t\tvar instance = this;\n\t\treturn setTimeout( handlerProxy, delay || 0 );\n\t},\n\n\t_hoverable: function( element ) {\n\t\tthis.hoverable = this.hoverable.add( element );\n\t\tthis._on( element, {\n\t\t\tmouseenter: function( event ) {\n\t\t\t\t$( event.currentTarget ).addClass( \"ui-state-hover\" );\n\t\t\t},\n\t\t\tmouseleave: function( event ) {\n\t\t\t\t$( event.currentTarget ).removeClass( \"ui-state-hover\" );\n\t\t\t}\n\t\t});\n\t},\n\n\t_focusable: function( element ) {\n\t\tthis.focusable = this.focusable.add( element );\n\t\tthis._on( element, {\n\t\t\tfocusin: function( event ) {\n\t\t\t\t$( event.currentTarget ).addClass( \"ui-state-focus\" );\n\t\t\t},\n\t\t\tfocusout: function( event ) {\n\t\t\t\t$( event.currentTarget ).removeClass( \"ui-state-focus\" );\n\t\t\t}\n\t\t});\n\t},\n\n\t_trigger: function( type, event, data ) {\n\t\tvar prop, orig,\n\t\t\tcallback = this.options[ type ];\n\n\t\tdata = data || {};\n\t\tevent = $.Event( event );\n\t\tevent.type = ( type === this.widgetEventPrefix ?\n\t\t\ttype :\n\t\t\tthis.widgetEventPrefix + type ).toLowerCase();\n\t\t// the original event may come from any element\n\t\t// so we need to reset the target on the new event\n\t\tevent.target = this.element[ 0 ];\n\n\t\t// copy original event properties over to the new event\n\t\torig = event.originalEvent;\n\t\tif ( orig ) {\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tif ( !( prop in event ) ) {\n\t\t\t\t\tevent[ prop ] = orig[ prop ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.element.trigger( event, data );\n\t\treturn !( $.isFunction( callback ) &&\n\t\t\tcallback.apply( this.element[0], [ event ].concat( data ) ) === false ||\n\t\t\tevent.isDefaultPrevented() );\n\t}\n};\n\n$.each( { show: \"fadeIn\", hide: \"fadeOut\" }, function( method, defaultEffect ) {\n\t$.Widget.prototype[ \"_\" + method ] = function( element, options, callback ) {\n\t\tif ( typeof options === \"string\" ) {\n\t\t\toptions = { effect: options };\n\t\t}\n\t\tvar hasOptions,\n\t\t\teffectName = !options ?\n\t\t\t\tmethod :\n\t\t\t\toptions === true || typeof options === \"number\" ?\n\t\t\t\t\tdefaultEffect :\n\t\t\t\t\toptions.effect || defaultEffect;\n\t\toptions = options || {};\n\t\tif ( typeof options === \"number\" ) {\n\t\t\toptions = { duration: options };\n\t\t}\n\t\thasOptions = !$.isEmptyObject( options );\n\t\toptions.complete = callback;\n\t\tif ( options.delay ) {\n\t\t\telement.delay( options.delay );\n\t\t}\n\t\tif ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {\n\t\t\telement[ method ]( options );\n\t\t} else if ( effectName !== method && element[ effectName ] ) {\n\t\t\telement[ effectName ]( options.duration, options.easing, callback );\n\t\t} else {\n\t\t\telement.queue(function( next ) {\n\t\t\t\t$( this )[ method ]();\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback.call( element[ 0 ] );\n\t\t\t\t}\n\t\t\t\tnext();\n\t\t\t});\n\t\t}\n\t};\n});\n\nvar widget = $.widget;\n\n\n\n}));\n","/* */ \n\"format cjs\";\n(function(process) {\n (function(factory) {\n 'use strict';\n if (typeof define === 'function' && define.amd) {\n define(['jquery', 'jquery.ui.widget'], factory);\n } else if (typeof exports === 'object') {\n factory(require('jquery'), require('./vendor/jquery.ui.widget'));\n } else {\n factory(window.jQuery);\n }\n }(function($) {\n 'use strict';\n $.support.fileInput = !(new RegExp('(Android (1\\\\.[0156]|2\\\\.[01]))' + '|(Windows Phone (OS 7|8\\\\.0))|(XBLWP)|(ZuneWP)|(WPDesktop)' + '|(w(eb)?OSBrowser)|(webOS)' + '|(Kindle/(1\\\\.0|2\\\\.[05]|3\\\\.0))').test(window.navigator.userAgent) || $('').prop('disabled'));\n $.support.xhrFileUpload = !!(window.ProgressEvent && window.FileReader);\n $.support.xhrFormDataFileUpload = !!window.FormData;\n $.support.blobSlice = window.Blob && (Blob.prototype.slice || Blob.prototype.webkitSlice || Blob.prototype.mozSlice);\n function getDragHandler(type) {\n var isDragOver = type === 'dragover';\n return function(e) {\n e.dataTransfer = e.originalEvent && e.originalEvent.dataTransfer;\n var dataTransfer = e.dataTransfer;\n if (dataTransfer && $.inArray('Files', dataTransfer.types) !== -1 && this._trigger(type, $.Event(type, {delegatedEvent: e})) !== false) {\n e.preventDefault();\n if (isDragOver) {\n dataTransfer.dropEffect = 'copy';\n }\n }\n };\n }\n $.widget('blueimp.fileupload', {\n options: {\n dropZone: $(document),\n pasteZone: undefined,\n fileInput: undefined,\n replaceFileInput: true,\n paramName: undefined,\n singleFileUploads: true,\n limitMultiFileUploads: undefined,\n limitMultiFileUploadSize: undefined,\n limitMultiFileUploadSizeOverhead: 512,\n sequentialUploads: false,\n limitConcurrentUploads: undefined,\n forceIframeTransport: false,\n redirect: undefined,\n redirectParamName: undefined,\n postMessage: undefined,\n multipart: true,\n maxChunkSize: undefined,\n uploadedBytes: undefined,\n recalculateProgress: true,\n progressInterval: 100,\n bitrateInterval: 500,\n autoUpload: true,\n messages: {uploadedBytes: 'Uploaded bytes exceed file size'},\n i18n: function(message, context) {\n message = this.messages[message] || message.toString();\n if (context) {\n $.each(context, function(key, value) {\n message = message.replace('{' + key + '}', value);\n });\n }\n return message;\n },\n formData: function(form) {\n return form.serializeArray();\n },\n add: function(e, data) {\n if (e.isDefaultPrevented()) {\n return false;\n }\n if (data.autoUpload || (data.autoUpload !== false && $(this).fileupload('option', 'autoUpload'))) {\n data.process().done(function() {\n data.submit();\n });\n }\n },\n processData: false,\n contentType: false,\n cache: false,\n timeout: 0\n },\n _specialOptions: ['fileInput', 'dropZone', 'pasteZone', 'multipart', 'forceIframeTransport'],\n _blobSlice: $.support.blobSlice && function() {\n var slice = this.slice || this.webkitSlice || this.mozSlice;\n return slice.apply(this, arguments);\n },\n _BitrateTimer: function() {\n this.timestamp = ((Date.now) ? Date.now() : (new Date()).getTime());\n this.loaded = 0;\n this.bitrate = 0;\n this.getBitrate = function(now, loaded, interval) {\n var timeDiff = now - this.timestamp;\n if (!this.bitrate || !interval || timeDiff > interval) {\n this.bitrate = (loaded - this.loaded) * (1000 / timeDiff) * 8;\n this.loaded = loaded;\n this.timestamp = now;\n }\n return this.bitrate;\n };\n },\n _isXHRUpload: function(options) {\n return !options.forceIframeTransport && ((!options.multipart && $.support.xhrFileUpload) || $.support.xhrFormDataFileUpload);\n },\n _getFormData: function(options) {\n var formData;\n if ($.type(options.formData) === 'function') {\n return options.formData(options.form);\n }\n if ($.isArray(options.formData)) {\n return options.formData;\n }\n if ($.type(options.formData) === 'object') {\n formData = [];\n $.each(options.formData, function(name, value) {\n formData.push({\n name: name,\n value: value\n });\n });\n return formData;\n }\n return [];\n },\n _getTotal: function(files) {\n var total = 0;\n $.each(files, function(index, file) {\n total += file.size || 1;\n });\n return total;\n },\n _initProgressObject: function(obj) {\n var progress = {\n loaded: 0,\n total: 0,\n bitrate: 0\n };\n if (obj._progress) {\n $.extend(obj._progress, progress);\n } else {\n obj._progress = progress;\n }\n },\n _initResponseObject: function(obj) {\n var prop;\n if (obj._response) {\n for (prop in obj._response) {\n if (obj._response.hasOwnProperty(prop)) {\n delete obj._response[prop];\n }\n }\n } else {\n obj._response = {};\n }\n },\n _onProgress: function(e, data) {\n if (e.lengthComputable) {\n var now = ((Date.now) ? Date.now() : (new Date()).getTime()),\n loaded;\n if (data._time && data.progressInterval && (now - data._time < data.progressInterval) && e.loaded !== e.total) {\n return;\n }\n data._time = now;\n loaded = Math.floor(e.loaded / e.total * (data.chunkSize || data._progress.total)) + (data.uploadedBytes || 0);\n this._progress.loaded += (loaded - data._progress.loaded);\n this._progress.bitrate = this._bitrateTimer.getBitrate(now, this._progress.loaded, data.bitrateInterval);\n data._progress.loaded = data.loaded = loaded;\n data._progress.bitrate = data.bitrate = data._bitrateTimer.getBitrate(now, loaded, data.bitrateInterval);\n this._trigger('progress', $.Event('progress', {delegatedEvent: e}), data);\n this._trigger('progressall', $.Event('progressall', {delegatedEvent: e}), this._progress);\n }\n },\n _initProgressListener: function(options) {\n var that = this,\n xhr = options.xhr ? options.xhr() : $.ajaxSettings.xhr();\n if (xhr.upload) {\n $(xhr.upload).bind('progress', function(e) {\n var oe = e.originalEvent;\n e.lengthComputable = oe.lengthComputable;\n e.loaded = oe.loaded;\n e.total = oe.total;\n that._onProgress(e, options);\n });\n options.xhr = function() {\n return xhr;\n };\n }\n },\n _isInstanceOf: function(type, obj) {\n return Object.prototype.toString.call(obj) === '[object ' + type + ']';\n },\n _initXHRData: function(options) {\n var that = this,\n formData,\n file = options.files[0],\n multipart = options.multipart || !$.support.xhrFileUpload,\n paramName = $.type(options.paramName) === 'array' ? options.paramName[0] : options.paramName;\n options.headers = $.extend({}, options.headers);\n if (options.contentRange) {\n options.headers['Content-Range'] = options.contentRange;\n }\n if (!multipart || options.blob || !this._isInstanceOf('File', file)) {\n options.headers['Content-Disposition'] = 'attachment; filename=\"' + encodeURI(file.name) + '\"';\n }\n if (!multipart) {\n options.contentType = file.type || 'application/octet-stream';\n options.data = options.blob || file;\n } else if ($.support.xhrFormDataFileUpload) {\n if (options.postMessage) {\n formData = this._getFormData(options);\n if (options.blob) {\n formData.push({\n name: paramName,\n value: options.blob\n });\n } else {\n $.each(options.files, function(index, file) {\n formData.push({\n name: ($.type(options.paramName) === 'array' && options.paramName[index]) || paramName,\n value: file\n });\n });\n }\n } else {\n if (that._isInstanceOf('FormData', options.formData)) {\n formData = options.formData;\n } else {\n formData = new FormData();\n $.each(this._getFormData(options), function(index, field) {\n formData.append(field.name, field.value);\n });\n }\n if (options.blob) {\n formData.append(paramName, options.blob, file.name);\n } else {\n $.each(options.files, function(index, file) {\n if (that._isInstanceOf('File', file) || that._isInstanceOf('Blob', file)) {\n formData.append(($.type(options.paramName) === 'array' && options.paramName[index]) || paramName, file, file.uploadName || file.name);\n }\n });\n }\n }\n options.data = formData;\n }\n options.blob = null;\n },\n _initIframeSettings: function(options) {\n var targetHost = $('').prop('href', options.url).prop('host');\n options.dataType = 'iframe ' + (options.dataType || '');\n options.formData = this._getFormData(options);\n if (options.redirect && targetHost && targetHost !== location.host) {\n options.formData.push({\n name: options.redirectParamName || 'redirect',\n value: options.redirect\n });\n }\n },\n _initDataSettings: function(options) {\n if (this._isXHRUpload(options)) {\n if (!this._chunkedUpload(options, true)) {\n if (!options.data) {\n this._initXHRData(options);\n }\n this._initProgressListener(options);\n }\n if (options.postMessage) {\n options.dataType = 'postmessage ' + (options.dataType || '');\n }\n } else {\n this._initIframeSettings(options);\n }\n },\n _getParamName: function(options) {\n var fileInput = $(options.fileInput),\n paramName = options.paramName;\n if (!paramName) {\n paramName = [];\n fileInput.each(function() {\n var input = $(this),\n name = input.prop('name') || 'files[]',\n i = (input.prop('files') || [1]).length;\n while (i) {\n paramName.push(name);\n i -= 1;\n }\n });\n if (!paramName.length) {\n paramName = [fileInput.prop('name') || 'files[]'];\n }\n } else if (!$.isArray(paramName)) {\n paramName = [paramName];\n }\n return paramName;\n },\n _initFormSettings: function(options) {\n if (!options.form || !options.form.length) {\n options.form = $(options.fileInput.prop('form'));\n if (!options.form.length) {\n options.form = $(this.options.fileInput.prop('form'));\n }\n }\n options.paramName = this._getParamName(options);\n if (!options.url) {\n options.url = options.form.prop('action') || location.href;\n }\n options.type = (options.type || ($.type(options.form.prop('method')) === 'string' && options.form.prop('method')) || '').toUpperCase();\n if (options.type !== 'POST' && options.type !== 'PUT' && options.type !== 'PATCH') {\n options.type = 'POST';\n }\n if (!options.formAcceptCharset) {\n options.formAcceptCharset = options.form.attr('accept-charset');\n }\n },\n _getAJAXSettings: function(data) {\n var options = $.extend({}, this.options, data);\n this._initFormSettings(options);\n this._initDataSettings(options);\n return options;\n },\n _getDeferredState: function(deferred) {\n if (deferred.state) {\n return deferred.state();\n }\n if (deferred.isResolved()) {\n return 'resolved';\n }\n if (deferred.isRejected()) {\n return 'rejected';\n }\n return 'pending';\n },\n _enhancePromise: function(promise) {\n promise.success = promise.done;\n promise.error = promise.fail;\n promise.complete = promise.always;\n return promise;\n },\n _getXHRPromise: function(resolveOrReject, context, args) {\n var dfd = $.Deferred(),\n promise = dfd.promise();\n context = context || this.options.context || promise;\n if (resolveOrReject === true) {\n dfd.resolveWith(context, args);\n } else if (resolveOrReject === false) {\n dfd.rejectWith(context, args);\n }\n promise.abort = dfd.promise;\n return this._enhancePromise(promise);\n },\n _addConvenienceMethods: function(e, data) {\n var that = this,\n getPromise = function(args) {\n return $.Deferred().resolveWith(that, args).promise();\n };\n data.process = function(resolveFunc, rejectFunc) {\n if (resolveFunc || rejectFunc) {\n data._processQueue = this._processQueue = (this._processQueue || getPromise([this])).pipe(function() {\n if (data.errorThrown) {\n return $.Deferred().rejectWith(that, [data]).promise();\n }\n return getPromise(arguments);\n }).pipe(resolveFunc, rejectFunc);\n }\n return this._processQueue || getPromise([this]);\n };\n data.submit = function() {\n if (this.state() !== 'pending') {\n data.jqXHR = this.jqXHR = (that._trigger('submit', $.Event('submit', {delegatedEvent: e}), this) !== false) && that._onSend(e, this);\n }\n return this.jqXHR || that._getXHRPromise();\n };\n data.abort = function() {\n if (this.jqXHR) {\n return this.jqXHR.abort();\n }\n this.errorThrown = 'abort';\n that._trigger('fail', null, this);\n return that._getXHRPromise(false);\n };\n data.state = function() {\n if (this.jqXHR) {\n return that._getDeferredState(this.jqXHR);\n }\n if (this._processQueue) {\n return that._getDeferredState(this._processQueue);\n }\n };\n data.processing = function() {\n return !this.jqXHR && this._processQueue && that._getDeferredState(this._processQueue) === 'pending';\n };\n data.progress = function() {\n return this._progress;\n };\n data.response = function() {\n return this._response;\n };\n },\n _getUploadedBytes: function(jqXHR) {\n var range = jqXHR.getResponseHeader('Range'),\n parts = range && range.split('-'),\n upperBytesPos = parts && parts.length > 1 && parseInt(parts[1], 10);\n return upperBytesPos && upperBytesPos + 1;\n },\n _chunkedUpload: function(options, testOnly) {\n options.uploadedBytes = options.uploadedBytes || 0;\n var that = this,\n file = options.files[0],\n fs = file.size,\n ub = options.uploadedBytes,\n mcs = options.maxChunkSize || fs,\n slice = this._blobSlice,\n dfd = $.Deferred(),\n promise = dfd.promise(),\n jqXHR,\n upload;\n if (!(this._isXHRUpload(options) && slice && (ub || mcs < fs)) || options.data) {\n return false;\n }\n if (testOnly) {\n return true;\n }\n if (ub >= fs) {\n file.error = options.i18n('uploadedBytes');\n return this._getXHRPromise(false, options.context, [null, 'error', file.error]);\n }\n upload = function() {\n var o = $.extend({}, options),\n currentLoaded = o._progress.loaded;\n o.blob = slice.call(file, ub, ub + mcs, file.type);\n o.chunkSize = o.blob.size;\n o.contentRange = 'bytes ' + ub + '-' + (ub + o.chunkSize - 1) + '/' + fs;\n that._initXHRData(o);\n that._initProgressListener(o);\n jqXHR = ((that._trigger('chunksend', null, o) !== false && $.ajax(o)) || that._getXHRPromise(false, o.context)).done(function(result, textStatus, jqXHR) {\n ub = that._getUploadedBytes(jqXHR) || (ub + o.chunkSize);\n if (currentLoaded + o.chunkSize - o._progress.loaded) {\n that._onProgress($.Event('progress', {\n lengthComputable: true,\n loaded: ub - o.uploadedBytes,\n total: ub - o.uploadedBytes\n }), o);\n }\n options.uploadedBytes = o.uploadedBytes = ub;\n o.result = result;\n o.textStatus = textStatus;\n o.jqXHR = jqXHR;\n that._trigger('chunkdone', null, o);\n that._trigger('chunkalways', null, o);\n if (ub < fs) {\n upload();\n } else {\n dfd.resolveWith(o.context, [result, textStatus, jqXHR]);\n }\n }).fail(function(jqXHR, textStatus, errorThrown) {\n o.jqXHR = jqXHR;\n o.textStatus = textStatus;\n o.errorThrown = errorThrown;\n that._trigger('chunkfail', null, o);\n that._trigger('chunkalways', null, o);\n dfd.rejectWith(o.context, [jqXHR, textStatus, errorThrown]);\n });\n };\n this._enhancePromise(promise);\n promise.abort = function() {\n return jqXHR.abort();\n };\n upload();\n return promise;\n },\n _beforeSend: function(e, data) {\n if (this._active === 0) {\n this._trigger('start');\n this._bitrateTimer = new this._BitrateTimer();\n this._progress.loaded = this._progress.total = 0;\n this._progress.bitrate = 0;\n }\n this._initResponseObject(data);\n this._initProgressObject(data);\n data._progress.loaded = data.loaded = data.uploadedBytes || 0;\n data._progress.total = data.total = this._getTotal(data.files) || 1;\n data._progress.bitrate = data.bitrate = 0;\n this._active += 1;\n this._progress.loaded += data.loaded;\n this._progress.total += data.total;\n },\n _onDone: function(result, textStatus, jqXHR, options) {\n var total = options._progress.total,\n response = options._response;\n if (options._progress.loaded < total) {\n this._onProgress($.Event('progress', {\n lengthComputable: true,\n loaded: total,\n total: total\n }), options);\n }\n response.result = options.result = result;\n response.textStatus = options.textStatus = textStatus;\n response.jqXHR = options.jqXHR = jqXHR;\n this._trigger('done', null, options);\n },\n _onFail: function(jqXHR, textStatus, errorThrown, options) {\n var response = options._response;\n if (options.recalculateProgress) {\n this._progress.loaded -= options._progress.loaded;\n this._progress.total -= options._progress.total;\n }\n response.jqXHR = options.jqXHR = jqXHR;\n response.textStatus = options.textStatus = textStatus;\n response.errorThrown = options.errorThrown = errorThrown;\n this._trigger('fail', null, options);\n },\n _onAlways: function(jqXHRorResult, textStatus, jqXHRorError, options) {\n this._trigger('always', null, options);\n },\n _onSend: function(e, data) {\n if (!data.submit) {\n this._addConvenienceMethods(e, data);\n }\n var that = this,\n jqXHR,\n aborted,\n slot,\n pipe,\n options = that._getAJAXSettings(data),\n send = function() {\n that._sending += 1;\n options._bitrateTimer = new that._BitrateTimer();\n jqXHR = jqXHR || (((aborted || that._trigger('send', $.Event('send', {delegatedEvent: e}), options) === false) && that._getXHRPromise(false, options.context, aborted)) || that._chunkedUpload(options) || $.ajax(options)).done(function(result, textStatus, jqXHR) {\n that._onDone(result, textStatus, jqXHR, options);\n }).fail(function(jqXHR, textStatus, errorThrown) {\n that._onFail(jqXHR, textStatus, errorThrown, options);\n }).always(function(jqXHRorResult, textStatus, jqXHRorError) {\n that._onAlways(jqXHRorResult, textStatus, jqXHRorError, options);\n that._sending -= 1;\n that._active -= 1;\n if (options.limitConcurrentUploads && options.limitConcurrentUploads > that._sending) {\n var nextSlot = that._slots.shift();\n while (nextSlot) {\n if (that._getDeferredState(nextSlot) === 'pending') {\n nextSlot.resolve();\n break;\n }\n nextSlot = that._slots.shift();\n }\n }\n if (that._active === 0) {\n that._trigger('stop');\n }\n });\n return jqXHR;\n };\n this._beforeSend(e, options);\n if (this.options.sequentialUploads || (this.options.limitConcurrentUploads && this.options.limitConcurrentUploads <= this._sending)) {\n if (this.options.limitConcurrentUploads > 1) {\n slot = $.Deferred();\n this._slots.push(slot);\n pipe = slot.pipe(send);\n } else {\n this._sequence = this._sequence.pipe(send, send);\n pipe = this._sequence;\n }\n pipe.abort = function() {\n aborted = [undefined, 'abort', 'abort'];\n if (!jqXHR) {\n if (slot) {\n slot.rejectWith(options.context, aborted);\n }\n return send();\n }\n return jqXHR.abort();\n };\n return this._enhancePromise(pipe);\n }\n return send();\n },\n _onAdd: function(e, data) {\n var that = this,\n result = true,\n options = $.extend({}, this.options, data),\n files = data.files,\n filesLength = files.length,\n limit = options.limitMultiFileUploads,\n limitSize = options.limitMultiFileUploadSize,\n overhead = options.limitMultiFileUploadSizeOverhead,\n batchSize = 0,\n paramName = this._getParamName(options),\n paramNameSet,\n paramNameSlice,\n fileSet,\n i,\n j = 0;\n if (!filesLength) {\n return false;\n }\n if (limitSize && files[0].size === undefined) {\n limitSize = undefined;\n }\n if (!(options.singleFileUploads || limit || limitSize) || !this._isXHRUpload(options)) {\n fileSet = [files];\n paramNameSet = [paramName];\n } else if (!(options.singleFileUploads || limitSize) && limit) {\n fileSet = [];\n paramNameSet = [];\n for (i = 0; i < filesLength; i += limit) {\n fileSet.push(files.slice(i, i + limit));\n paramNameSlice = paramName.slice(i, i + limit);\n if (!paramNameSlice.length) {\n paramNameSlice = paramName;\n }\n paramNameSet.push(paramNameSlice);\n }\n } else if (!options.singleFileUploads && limitSize) {\n fileSet = [];\n paramNameSet = [];\n for (i = 0; i < filesLength; i = i + 1) {\n batchSize += files[i].size + overhead;\n if (i + 1 === filesLength || ((batchSize + files[i + 1].size + overhead) > limitSize) || (limit && i + 1 - j >= limit)) {\n fileSet.push(files.slice(j, i + 1));\n paramNameSlice = paramName.slice(j, i + 1);\n if (!paramNameSlice.length) {\n paramNameSlice = paramName;\n }\n paramNameSet.push(paramNameSlice);\n j = i + 1;\n batchSize = 0;\n }\n }\n } else {\n paramNameSet = paramName;\n }\n data.originalFiles = files;\n $.each(fileSet || files, function(index, element) {\n var newData = $.extend({}, data);\n newData.files = fileSet ? element : [element];\n newData.paramName = paramNameSet[index];\n that._initResponseObject(newData);\n that._initProgressObject(newData);\n that._addConvenienceMethods(e, newData);\n result = that._trigger('add', $.Event('add', {delegatedEvent: e}), newData);\n return result;\n });\n return result;\n },\n _replaceFileInput: function(data) {\n var input = data.fileInput,\n inputClone = input.clone(true),\n restoreFocus = input.is(document.activeElement);\n data.fileInputClone = inputClone;\n $('
').append(inputClone)[0].reset();\n input.after(inputClone).detach();\n if (restoreFocus) {\n inputClone.focus();\n }\n $.cleanData(input.unbind('remove'));\n this.options.fileInput = this.options.fileInput.map(function(i, el) {\n if (el === input[0]) {\n return inputClone[0];\n }\n return el;\n });\n if (input[0] === this.element[0]) {\n this.element = inputClone;\n }\n },\n _handleFileTreeEntry: function(entry, path) {\n var that = this,\n dfd = $.Deferred(),\n errorHandler = function(e) {\n if (e && !e.entry) {\n e.entry = entry;\n }\n dfd.resolve([e]);\n },\n successHandler = function(entries) {\n that._handleFileTreeEntries(entries, path + entry.name + '/').done(function(files) {\n dfd.resolve(files);\n }).fail(errorHandler);\n },\n readEntries = function() {\n dirReader.readEntries(function(results) {\n if (!results.length) {\n successHandler(entries);\n } else {\n entries = entries.concat(results);\n readEntries();\n }\n }, errorHandler);\n },\n dirReader,\n entries = [];\n path = path || '';\n if (entry.isFile) {\n if (entry._file) {\n entry._file.relativePath = path;\n dfd.resolve(entry._file);\n } else {\n entry.file(function(file) {\n file.relativePath = path;\n dfd.resolve(file);\n }, errorHandler);\n }\n } else if (entry.isDirectory) {\n dirReader = entry.createReader();\n readEntries();\n } else {\n dfd.resolve([]);\n }\n return dfd.promise();\n },\n _handleFileTreeEntries: function(entries, path) {\n var that = this;\n return $.when.apply($, $.map(entries, function(entry) {\n return that._handleFileTreeEntry(entry, path);\n })).pipe(function() {\n return Array.prototype.concat.apply([], arguments);\n });\n },\n _getDroppedFiles: function(dataTransfer) {\n dataTransfer = dataTransfer || {};\n var items = dataTransfer.items;\n if (items && items.length && (items[0].webkitGetAsEntry || items[0].getAsEntry)) {\n return this._handleFileTreeEntries($.map(items, function(item) {\n var entry;\n if (item.webkitGetAsEntry) {\n entry = item.webkitGetAsEntry();\n if (entry) {\n entry._file = item.getAsFile();\n }\n return entry;\n }\n return item.getAsEntry();\n }));\n }\n return $.Deferred().resolve($.makeArray(dataTransfer.files)).promise();\n },\n _getSingleFileInputFiles: function(fileInput) {\n fileInput = $(fileInput);\n var entries = fileInput.prop('webkitEntries') || fileInput.prop('entries'),\n files,\n value;\n if (entries && entries.length) {\n return this._handleFileTreeEntries(entries);\n }\n files = $.makeArray(fileInput.prop('files'));\n if (!files.length) {\n value = fileInput.prop('value');\n if (!value) {\n return $.Deferred().resolve([]).promise();\n }\n files = [{name: value.replace(/^.*\\\\/, '')}];\n } else if (files[0].name === undefined && files[0].fileName) {\n $.each(files, function(index, file) {\n file.name = file.fileName;\n file.size = file.fileSize;\n });\n }\n return $.Deferred().resolve(files).promise();\n },\n _getFileInputFiles: function(fileInput) {\n if (!(fileInput instanceof $) || fileInput.length === 1) {\n return this._getSingleFileInputFiles(fileInput);\n }\n return $.when.apply($, $.map(fileInput, this._getSingleFileInputFiles)).pipe(function() {\n return Array.prototype.concat.apply([], arguments);\n });\n },\n _onChange: function(e) {\n var that = this,\n data = {\n fileInput: $(e.target),\n form: $(e.target.form)\n };\n this._getFileInputFiles(data.fileInput).always(function(files) {\n data.files = files;\n if (that.options.replaceFileInput) {\n that._replaceFileInput(data);\n }\n if (that._trigger('change', $.Event('change', {delegatedEvent: e}), data) !== false) {\n that._onAdd(e, data);\n }\n });\n },\n _onPaste: function(e) {\n var items = e.originalEvent && e.originalEvent.clipboardData && e.originalEvent.clipboardData.items,\n data = {files: []};\n if (items && items.length) {\n $.each(items, function(index, item) {\n var file = item.getAsFile && item.getAsFile();\n if (file) {\n data.files.push(file);\n }\n });\n if (this._trigger('paste', $.Event('paste', {delegatedEvent: e}), data) !== false) {\n this._onAdd(e, data);\n }\n }\n },\n _onDrop: function(e) {\n e.dataTransfer = e.originalEvent && e.originalEvent.dataTransfer;\n var that = this,\n dataTransfer = e.dataTransfer,\n data = {};\n if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {\n e.preventDefault();\n this._getDroppedFiles(dataTransfer).always(function(files) {\n data.files = files;\n if (that._trigger('drop', $.Event('drop', {delegatedEvent: e}), data) !== false) {\n that._onAdd(e, data);\n }\n });\n }\n },\n _onDragOver: getDragHandler('dragover'),\n _onDragEnter: getDragHandler('dragenter'),\n _onDragLeave: getDragHandler('dragleave'),\n _initEventHandlers: function() {\n if (this._isXHRUpload(this.options)) {\n this._on(this.options.dropZone, {\n dragover: this._onDragOver,\n drop: this._onDrop,\n dragenter: this._onDragEnter,\n dragleave: this._onDragLeave\n });\n this._on(this.options.pasteZone, {paste: this._onPaste});\n }\n if ($.support.fileInput) {\n this._on(this.options.fileInput, {change: this._onChange});\n }\n },\n _destroyEventHandlers: function() {\n this._off(this.options.dropZone, 'dragenter dragleave dragover drop');\n this._off(this.options.pasteZone, 'paste');\n this._off(this.options.fileInput, 'change');\n },\n _setOption: function(key, value) {\n var reinit = $.inArray(key, this._specialOptions) !== -1;\n if (reinit) {\n this._destroyEventHandlers();\n }\n this._super(key, value);\n if (reinit) {\n this._initSpecialOptions();\n this._initEventHandlers();\n }\n },\n _initSpecialOptions: function() {\n var options = this.options;\n if (options.fileInput === undefined) {\n options.fileInput = this.element.is('input[type=\"file\"]') ? this.element : this.element.find('input[type=\"file\"]');\n } else if (!(options.fileInput instanceof $)) {\n options.fileInput = $(options.fileInput);\n }\n if (!(options.dropZone instanceof $)) {\n options.dropZone = $(options.dropZone);\n }\n if (!(options.pasteZone instanceof $)) {\n options.pasteZone = $(options.pasteZone);\n }\n },\n _getRegExp: function(str) {\n var parts = str.split('/'),\n modifiers = parts.pop();\n parts.shift();\n return new RegExp(parts.join('/'), modifiers);\n },\n _isRegExpOption: function(key, value) {\n return key !== 'url' && $.type(value) === 'string' && /^\\/.*\\/[igm]{0,3}$/.test(value);\n },\n _initDataAttributes: function() {\n var that = this,\n options = this.options,\n data = this.element.data();\n $.each(this.element[0].attributes, function(index, attr) {\n var key = attr.name.toLowerCase(),\n value;\n if (/^data-/.test(key)) {\n key = key.slice(5).replace(/-[a-z]/g, function(str) {\n return str.charAt(1).toUpperCase();\n });\n value = data[key];\n if (that._isRegExpOption(key, value)) {\n value = that._getRegExp(value);\n }\n options[key] = value;\n }\n });\n },\n _create: function() {\n this._initDataAttributes();\n this._initSpecialOptions();\n this._slots = [];\n this._sequence = this._getXHRPromise(true);\n this._sending = this._active = 0;\n this._initProgressObject(this);\n this._initEventHandlers();\n },\n active: function() {\n return this._active;\n },\n progress: function() {\n return this._progress;\n },\n add: function(data) {\n var that = this;\n if (!data || this.options.disabled) {\n return;\n }\n if (data.fileInput && !data.files) {\n this._getFileInputFiles(data.fileInput).always(function(files) {\n data.files = files;\n that._onAdd(null, data);\n });\n } else {\n data.files = $.makeArray(data.files);\n this._onAdd(null, data);\n }\n },\n send: function(data) {\n if (data && !this.options.disabled) {\n if (data.fileInput && !data.files) {\n var that = this,\n dfd = $.Deferred(),\n promise = dfd.promise(),\n jqXHR,\n aborted;\n promise.abort = function() {\n aborted = true;\n if (jqXHR) {\n return jqXHR.abort();\n }\n dfd.reject(null, 'abort', 'abort');\n return promise;\n };\n this._getFileInputFiles(data.fileInput).always(function(files) {\n if (aborted) {\n return;\n }\n if (!files.length) {\n dfd.reject();\n return;\n }\n data.files = files;\n jqXHR = that._onSend(null, data);\n jqXHR.then(function(result, textStatus, jqXHR) {\n dfd.resolve(result, textStatus, jqXHR);\n }, function(jqXHR, textStatus, errorThrown) {\n dfd.reject(jqXHR, textStatus, errorThrown);\n });\n });\n return this._enhancePromise(promise);\n }\n data.files = $.makeArray(data.files);\n if (data.files.length) {\n return this._onSend(null, data);\n }\n }\n return this._getXHRPromise(false, data && data.context);\n }\n });\n }));\n})(require('process'));\n","/* */ \n\"format cjs\";\n/*\n * jQuery Iframe Transport Plugin\n * https://github.com/blueimp/jQuery-File-Upload\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/MIT\n */\n\n/* global define, require, window, document */\n\n(function (factory) {\n 'use strict';\n if (typeof define === 'function' && define.amd) {\n // Register as an anonymous AMD module:\n define(['jquery'], factory);\n } else if (typeof exports === 'object') {\n // Node/CommonJS:\n factory(require('jquery'));\n } else {\n // Browser globals:\n factory(window.jQuery);\n }\n}(function ($) {\n 'use strict';\n\n // Helper variable to create unique names for the transport iframes:\n var counter = 0;\n\n // The iframe transport accepts four additional options:\n // options.fileInput: a jQuery collection of file input fields\n // options.paramName: the parameter name for the file form data,\n // overrides the name property of the file input field(s),\n // can be a string or an array of strings.\n // options.formData: an array of objects with name and value properties,\n // equivalent to the return data of .serializeArray(), e.g.:\n // [{name: 'a', value: 1}, {name: 'b', value: 2}]\n // options.initialIframeSrc: the URL of the initial iframe src,\n // by default set to \"javascript:false;\"\n $.ajaxTransport('iframe', function (options) {\n if (options.async) {\n // javascript:false as initial iframe src\n // prevents warning popups on HTTPS in IE6:\n /*jshint scripturl: true */\n var initialIframeSrc = options.initialIframeSrc || 'javascript:false;',\n /*jshint scripturl: false */\n form,\n iframe,\n addParamChar;\n return {\n send: function (_, completeCallback) {\n form = $('
');\n form.attr('accept-charset', options.formAcceptCharset);\n addParamChar = /\\?/.test(options.url) ? '&' : '?';\n // XDomainRequest only supports GET and POST:\n if (options.type === 'DELETE') {\n options.url = options.url + addParamChar + '_method=DELETE';\n options.type = 'POST';\n } else if (options.type === 'PUT') {\n options.url = options.url + addParamChar + '_method=PUT';\n options.type = 'POST';\n } else if (options.type === 'PATCH') {\n options.url = options.url + addParamChar + '_method=PATCH';\n options.type = 'POST';\n }\n // IE versions below IE8 cannot set the name property of\n // elements that have already been added to the DOM,\n // so we set the name along with the iframe HTML markup:\n counter += 1;\n iframe = $(\n ''\n ).bind('load', function () {\n var fileInputClones,\n paramNames = $.isArray(options.paramName) ?\n options.paramName : [options.paramName];\n iframe\n .unbind('load')\n .bind('load', function () {\n var response;\n // Wrap in a try/catch block to catch exceptions thrown\n // when trying to access cross-domain iframe contents:\n try {\n response = iframe.contents();\n // Google Chrome and Firefox do not throw an\n // exception when calling iframe.contents() on\n // cross-domain requests, so we unify the response:\n if (!response.length || !response[0].firstChild) {\n throw new Error();\n }\n } catch (e) {\n response = undefined;\n }\n // The complete callback returns the\n // iframe content document as response object:\n completeCallback(\n 200,\n 'success',\n {'iframe': response}\n );\n // Fix for IE endless progress bar activity bug\n // (happens on form submits to iframe targets):\n $('')\n .appendTo(form);\n window.setTimeout(function () {\n // Removing the form in a setTimeout call\n // allows Chrome's developer tools to display\n // the response result\n form.remove();\n }, 0);\n });\n form\n .prop('target', iframe.prop('name'))\n .prop('action', options.url)\n .prop('method', options.type);\n if (options.formData) {\n $.each(options.formData, function (index, field) {\n $('')\n .prop('name', field.name)\n .val(field.value)\n .appendTo(form);\n });\n }\n if (options.fileInput && options.fileInput.length &&\n options.type === 'POST') {\n fileInputClones = options.fileInput.clone();\n // Insert a clone for each file input field:\n options.fileInput.after(function (index) {\n return fileInputClones[index];\n });\n if (options.paramName) {\n options.fileInput.each(function (index) {\n $(this).prop(\n 'name',\n paramNames[index] || options.paramName\n );\n });\n }\n // Appending the file input fields to the hidden form\n // removes them from their original location:\n form\n .append(options.fileInput)\n .prop('enctype', 'multipart/form-data')\n // enctype must be set as encoding for IE:\n .prop('encoding', 'multipart/form-data');\n // Remove the HTML5 form attribute from the input(s):\n options.fileInput.removeAttr('form');\n }\n form.submit();\n // Insert the file input fields at their original location\n // by replacing the clones with the originals:\n if (fileInputClones && fileInputClones.length) {\n options.fileInput.each(function (index, input) {\n var clone = $(fileInputClones[index]);\n // Restore the original name and form properties:\n $(input)\n .prop('name', clone.prop('name'))\n .attr('form', clone.attr('form'));\n clone.replaceWith(input);\n });\n }\n });\n form.append(iframe).appendTo(document.body);\n },\n abort: function () {\n if (iframe) {\n // javascript:false as iframe src aborts the request\n // and prevents warning popups on HTTPS in IE6.\n // concat is used to avoid the \"Script URL\" JSLint error:\n iframe\n .unbind('load')\n .prop('src', initialIframeSrc);\n }\n if (form) {\n form.remove();\n }\n }\n };\n }\n });\n\n // The iframe transport returns the iframe content document as response.\n // The following adds converters from iframe to text, json, html, xml\n // and script.\n // Please note that the Content-Type for JSON responses has to be text/plain\n // or text/html, if the browser doesn't include application/json in the\n // Accept header, else IE will show a download dialog.\n // The Content-Type for XML responses on the other hand has to be always\n // application/xml or text/xml, so IE properly parses the XML response.\n // See also\n // https://github.com/blueimp/jQuery-File-Upload/wiki/Setup#content-type-negotiation\n $.ajaxSetup({\n converters: {\n 'iframe text': function (iframe) {\n return iframe && $(iframe[0].body).text();\n },\n 'iframe json': function (iframe) {\n return iframe && $.parseJSON($(iframe[0].body).text());\n },\n 'iframe html': function (iframe) {\n return iframe && $(iframe[0].body).html();\n },\n 'iframe xml': function (iframe) {\n var xmlDoc = iframe && iframe[0];\n return xmlDoc && $.isXMLDoc(xmlDoc) ? xmlDoc :\n $.parseXML((xmlDoc.XMLDocument && xmlDoc.XMLDocument.xml) ||\n $(xmlDoc.body).html());\n },\n 'iframe script': function (iframe) {\n return iframe && $.globalEval($(iframe[0].body).text());\n }\n }\n });\n\n}));\n","/* */ \n\"format cjs\";\n(function(process) {\n (function(factory) {\n 'use strict';\n if (typeof define === 'function' && define.amd) {\n define(['jquery', './jquery.fileupload'], factory);\n } else if (typeof exports === 'object') {\n factory(require('jquery'));\n } else {\n factory(window.jQuery);\n }\n }(function($) {\n 'use strict';\n var originalAdd = $.blueimp.fileupload.prototype.options.add;\n $.widget('blueimp.fileupload', $.blueimp.fileupload, {\n options: {\n processQueue: [],\n add: function(e, data) {\n var $this = $(this);\n data.process(function() {\n return $this.fileupload('process', data);\n });\n originalAdd.call(this, e, data);\n }\n },\n processActions: {},\n _processFile: function(data, originalData) {\n var that = this,\n dfd = $.Deferred().resolveWith(that, [data]),\n chain = dfd.promise();\n this._trigger('process', null, data);\n $.each(data.processQueue, function(i, settings) {\n var func = function(data) {\n if (originalData.errorThrown) {\n return $.Deferred().rejectWith(that, [originalData]).promise();\n }\n return that.processActions[settings.action].call(that, data, settings);\n };\n chain = chain.pipe(func, settings.always && func);\n });\n chain.done(function() {\n that._trigger('processdone', null, data);\n that._trigger('processalways', null, data);\n }).fail(function() {\n that._trigger('processfail', null, data);\n that._trigger('processalways', null, data);\n });\n return chain;\n },\n _transformProcessQueue: function(options) {\n var processQueue = [];\n $.each(options.processQueue, function() {\n var settings = {},\n action = this.action,\n prefix = this.prefix === true ? action : this.prefix;\n $.each(this, function(key, value) {\n if ($.type(value) === 'string' && value.charAt(0) === '@') {\n settings[key] = options[value.slice(1) || (prefix ? prefix + key.charAt(0).toUpperCase() + key.slice(1) : key)];\n } else {\n settings[key] = value;\n }\n });\n processQueue.push(settings);\n });\n options.processQueue = processQueue;\n },\n processing: function() {\n return this._processing;\n },\n process: function(data) {\n var that = this,\n options = $.extend({}, this.options, data);\n if (options.processQueue && options.processQueue.length) {\n this._transformProcessQueue(options);\n if (this._processing === 0) {\n this._trigger('processstart');\n }\n $.each(data.files, function(index) {\n var opts = index ? $.extend({}, options) : options,\n func = function() {\n if (data.errorThrown) {\n return $.Deferred().rejectWith(that, [data]).promise();\n }\n return that._processFile(opts, data);\n };\n opts.index = index;\n that._processing += 1;\n that._processingQueue = that._processingQueue.pipe(func, func).always(function() {\n that._processing -= 1;\n if (that._processing === 0) {\n that._trigger('processstop');\n }\n });\n });\n }\n return this._processingQueue;\n },\n _create: function() {\n this._super();\n this._processing = 0;\n this._processingQueue = $.Deferred().resolveWith(this).promise();\n }\n });\n }));\n})(require('process'));\n","/* */ \n\"format cjs\";\n(function(process) {\n (function(factory) {\n 'use strict';\n if (typeof define === 'function' && define.amd) {\n define(['jquery', './jquery.fileupload-process'], factory);\n } else if (typeof exports === 'object') {\n factory(require('jquery'));\n } else {\n factory(window.jQuery);\n }\n }(function($) {\n 'use strict';\n $.blueimp.fileupload.prototype.options.processQueue.push({\n action: 'validate',\n always: true,\n acceptFileTypes: '@',\n maxFileSize: '@',\n minFileSize: '@',\n maxNumberOfFiles: '@',\n disabled: '@disableValidation'\n });\n $.widget('blueimp.fileupload', $.blueimp.fileupload, {\n options: {\n getNumberOfFiles: $.noop,\n messages: {\n maxNumberOfFiles: 'Maximum number of files exceeded',\n acceptFileTypes: 'File type not allowed',\n maxFileSize: 'File is too large',\n minFileSize: 'File is too small'\n }\n },\n processActions: {validate: function(data, options) {\n if (options.disabled) {\n return data;\n }\n var dfd = $.Deferred(),\n settings = this.options,\n file = data.files[data.index],\n fileSize;\n if (options.minFileSize || options.maxFileSize) {\n fileSize = file.size;\n }\n if ($.type(options.maxNumberOfFiles) === 'number' && (settings.getNumberOfFiles() || 0) + data.files.length > options.maxNumberOfFiles) {\n file.error = settings.i18n('maxNumberOfFiles');\n } else if (options.acceptFileTypes && !(options.acceptFileTypes.test(file.type) || options.acceptFileTypes.test(file.name))) {\n file.error = settings.i18n('acceptFileTypes');\n } else if (fileSize > options.maxFileSize) {\n file.error = settings.i18n('maxFileSize');\n } else if ($.type(fileSize) === 'number' && fileSize < options.minFileSize) {\n file.error = settings.i18n('minFileSize');\n } else {\n delete file.error;\n }\n if (file.error || data.files.error) {\n data.files.error = true;\n dfd.rejectWith(this, [data]);\n } else {\n dfd.resolveWith(this, [data]);\n }\n return dfd.promise();\n }}\n });\n }));\n})(require('process'));\n","define(\r\n [\r\n \"knockout\",\r\n \"jquery\",\r\n \"sa-utils\",\r\n \"blueimp-file-upload/js/jquery.fileupload\",\r\n \"blueimp-file-upload/js/jquery.iframe-transport\",\r\n \"blueimp-file-upload/js/jquery.fileupload-process\",\r\n \"blueimp-file-upload/js/jquery.fileupload-validate\",\r\n \"blueimp-file-upload/css/jquery.fileupload.css!\"\r\n ],\r\n function(ko, $, utils) {\r\n var FileUpload = function(options, uploadCallback, errorCallback) {\r\n var self = this;\r\n\r\n self.AutoUpload = !!options.AutoUpload;\r\n self.ResultMessage = ko.observable();\r\n self.IsError = ko.observable(false);\r\n self.FileName = ko.observable();\r\n self.IsLoading = ko.observable(false);\r\n self.Progress = ko.observable();\r\n\r\n self.UploadCallback = uploadCallback;\r\n self.ErrorCallback = errorCallback;\r\n\r\n self.CanShowProgress = utils.featureDetection.xhr2;\r\n self.CanSubmit = options.CanSubmit\r\n ? options.CanSubmit\r\n : ko.pureComputed(function() {\r\n return self.FileName() && !self.IsError();\r\n });\r\n\r\n self.cancelUploading = function() {\r\n return;\r\n }\r\n self.submit = function() {\r\n return;\r\n };\r\n\r\n self.reset = function() {\r\n self.ResultMessage(null);\r\n self.IsError(false);\r\n self.FileName(null);\r\n self.Progress(0);\r\n };\r\n self.init = function(el) {\r\n var uploadOptions = {\r\n url: options.Url,\r\n autoUpload: false,\r\n dataType: \"text\",\r\n maxFileSize: options.MaxFileSize ? options.MaxFileSize : 20 * 1024 * 1024,\r\n acceptFileTypes: options.AcceptFileTypes ? options.AcceptFileTypes : /(\\.|\\/)(pdf|doc|docx|txt|rtf|html|odt|zip|rar|7z)$/i,\r\n messages: {\r\n acceptFileTypes: \"Файл имеет недопустимый формат\",\r\n maxFileSize: \"Файл превышает допустимый размер\"\r\n }\r\n }\r\n if (options.DropZoneSelector) {\r\n var $dropZone = $(options.DropZoneSelector);\r\n uploadOptions.dropZone = $dropZone;\r\n $dropZone.bind(\"dragover\",\r\n function(e) {\r\n $(this).addClass(\"dragging\");\r\n });\r\n $dropZone.bind(\"dragleave drop\",\r\n function(e) {\r\n $(this).removeClass(\"dragging\");\r\n });\r\n }\r\n $(el)\r\n .fileupload(uploadOptions)\r\n .on(\"fileuploadprocessalways\",\r\n function(e, data) {\r\n var currentFile = data.files[data.index];\r\n if (data.files.error && currentFile.error) {\r\n self.IsError(true);\r\n self.ResultMessage(currentFile.error);\r\n self.cancelUploading = function() {\r\n return;\r\n }\r\n self.submit = function() {\r\n return;\r\n };\r\n } else {\r\n self.IsError(false);\r\n self.ResultMessage(null);\r\n\r\n if (self.AutoUpload) {\r\n var jqXHR = data.submit();\r\n self.cancelUploading = function() {\r\n jqXHR.abort();\r\n }\r\n } else {\r\n self.submit = function() {\r\n var jqXHR = data.submit();\r\n self.cancelUploading = function() {\r\n jqXHR.abort();\r\n }\r\n }\r\n }\r\n }\r\n })\r\n .on(\"fileuploadadd\",\r\n function(e, data) {\r\n self.FileName(data.files[0].name);\r\n data.process();\r\n })\r\n .on(\"fileuploaddone\",\r\n function(e, data) {\r\n self.IsLoading(false);\r\n\r\n var result = data.result;\r\n try {\r\n result = JSON.parse(result);\r\n } catch (e) {\r\n result = false;\r\n }\r\n var error = \"Произошла ошибка при загрузке файла\";\r\n if (!result) {\r\n self.IsError(true); \r\n self.ResultMessage(error);\r\n if (typeof self.ErrorCallback === \"function\") {\r\n self.ErrorCallback({ error: error });\r\n }\r\n } else if (!result.ok) {\r\n self.IsError(true);\r\n error = result.error || error;\r\n self.ResultMessage(error);\r\n if (typeof self.ErrorCallback === \"function\") {\r\n self.ErrorCallback({ error: error });\r\n }\r\n } else if (result.ok) {\r\n self.IsError(false);\r\n self.ResultMessage(\"Файл успешно загружен\");\r\n if (typeof self.UploadCallback === \"function\") {\r\n self.UploadCallback(result);\r\n }\r\n }\r\n })\r\n .on(\"fileuploadsubmit\",\r\n function(e, data) {\r\n data.formData = ko.toJS(options.FormData);\r\n self.IsLoading(true);\r\n })\r\n .on(\"fileuploadfail\",\r\n function(e, data) {\r\n self.IsLoading(false);\r\n if (data.errorThrown !== \"abort\") {\r\n self.IsError(true);\r\n self.ResultMessage(data.errorThrown);\r\n }\r\n })\r\n .on(\"fileuploadprogressall\",\r\n function(e, data) {\r\n self.Progress(parseInt(data.loaded / data.total * 100, 10) + \"%\");\r\n });\r\n }\r\n }\r\n return FileUpload;\r\n }\r\n);","define(\r\n [\r\n \"jquery\",\r\n \"knockout\",\r\n \"scripts/shared/single-value-field\",\r\n \"scripts/shared/multi-value-field\",\r\n \"scripts/shared/range-field\",\r\n \"scripts/shared/fileupload\",\r\n \"sa-utils\"\r\n ],\r\n function($, ko, SingleValueField, MultiValueField, RangeField, FileUpload, utils) {\r\n var SearchForm = function(filter, document, options) {\r\n var self = this;\r\n options = options || {};\r\n\r\n self.SearchModes = {\r\n Text: 0,\r\n File: 1\r\n }\r\n\r\n self.SearchString = ko.observable(filter.SearchString);\r\n\r\n self.TopicSearchFileName = ko.observable(filter.TopicSearchFileName);\r\n self.TopicSearchDocumentId = ko.observable(filter.TopicSearchDocumentId);\r\n\r\n self.SearchMode = (filter.TopicSearchFileName || filter.TopicSearchDocumentId)\r\n ? ko.observable(self.SearchModes.File)\r\n : ko.observable(self.SearchModes.Text);\r\n\r\n var fields = filter.FormFields;\r\n self.FormFields = {\r\n Name: new SingleValueField(fields.Name),\r\n Author: new MultiValueField(fields.Author),\r\n PublicationDate: new RangeField(fields.PublicationDate, false, true),\r\n DocumentType: new MultiValueField(fields.DocumentType),\r\n Rank: new MultiValueField(fields.Rank),\r\n DissertationCouncilCode: new MultiValueField(fields.DissertationCouncilCode),\r\n VakCode: new MultiValueField(fields.VakCode)\r\n };\r\n\r\n self.IsExtendedFilterFilled = ko.pureComputed(function() {\r\n return ko.utils.unwrapObservable(self.FormFields.Name.Value) ||\r\n (ko.utils.unwrapObservable(self.FormFields.Author\r\n .Values) &&\r\n self.FormFields.Author.Values().length > 0) ||\r\n ko.utils.unwrapObservable(self.FormFields.PublicationDate.MinValue) ||\r\n ko.utils.unwrapObservable(self.FormFields.PublicationDate.MaxValue) ||\r\n (ko.utils.unwrapObservable(self.FormFields.DocumentType.Values) &&\r\n self.FormFields.DocumentType.Values().length > 0) ||\r\n (ko.utils.unwrapObservable(self.FormFields.Rank\r\n .Values) &&\r\n self.FormFields.Rank.Values().length > 0) ||\r\n (ko.utils.unwrapObservable(self.FormFields.DissertationCouncilCode\r\n .Values) &&\r\n self.FormFields.DissertationCouncilCode.Values().length > 0) ||\r\n (ko.utils.unwrapObservable(self.FormFields.VakCode\r\n .Values) &&\r\n self.FormFields.VakCode.Values().length > 0);\r\n });\r\n\r\n self.IsEmpty = ko.pureComputed(function() {\r\n return !self.SearchString()\r\n && !self.TopicSearchFileName()\r\n && !self.TopicSearchDocumentId()\r\n && !self.IsExtendedFilterFilled();\r\n });\r\n\r\n self.IsExtended = ko.observable(self.IsExtendedFilterFilled());\r\n\r\n var fileUploadOptions = {\r\n Url: window.page.urls.Search.UploadFileForTopicSearch,\r\n AutoUpload: true,\r\n FormData: {},\r\n DropZoneSelector: options.dropZoneSelector,\r\n MaxFileSize: 5 * 1024 * 1024 // TODO: временно\r\n };\r\n $.extend(fileUploadOptions.FormData, window.page.token);\r\n self.FileUpload = new FileUpload(fileUploadOptions);\r\n self.FileUpload.FileName.subscribe(function(newValue) {\r\n // Если добавили файл, перейти в режим поиска по файлу \r\n if (!!newValue) {\r\n self.setSearchMode(self.SearchModes.File);\r\n } else {\r\n self.setSearchMode(self.SearchModes.Text);\r\n }\r\n self.TopicSearchFileName(newValue);\r\n });\r\n\r\n self.Years = function () {\r\n var result = [{ Key: null, Value: \"\" }];\r\n ko.utils.arrayForEach(ko.utils.range(1800, new Date().getFullYear()).reverse(),\r\n function (item) {\r\n result.push({ Key: item, Value: item });\r\n });\r\n return result;\r\n }\r\n }\r\n\r\n SearchForm.prototype.cancelFileSearch = function (fileName) {\r\n var self = this;\r\n if (self.FileUpload.IsError()) {\r\n self.FileUpload.reset();\r\n } else if (self.FileUpload.IsLoading()) {\r\n self.FileUpload.cancelUploading();\r\n self.FileUpload.reset();\r\n } else {\r\n fileName = ko.unwrap(fileName);\r\n if (fileName) {\r\n utils.postJson.call(self,\r\n window.page.urls.Search.DeleteTopicSearchFile,\r\n fileName,\r\n function(result) {\r\n self.FileUpload.reset();\r\n });\r\n }\r\n else {\r\n self.TopicSearchFileName(\"\");\r\n self.TopicSearchDocumentId(null);\r\n self.setSearchMode(self.SearchModes.Text);\r\n }\r\n } \r\n self.Document(null);\r\n }\r\n\r\n SearchForm.prototype.getFilterModel = function () {\r\n var self = this;\r\n if (!self.IsExtended()) {\r\n self.clearExtended();\r\n }\r\n return {\r\n SearchString: self.SearchMode() !== self.SearchModes.File ? self.SearchString() : \"\",\r\n TopicSearchFileName: self.SearchMode() === self.SearchModes.File ? self.TopicSearchFileName() : \"\",\r\n TopicSearchDocumentId: self.SearchMode() === self.SearchModes.File ? self.TopicSearchDocumentId() : null,\r\n FormFields: ko.toJS(self.FormFields)\r\n }\r\n }\r\n\r\n SearchForm.prototype.clearExtended = function () {\r\n var self = this;\r\n for (var field in self.FormFields) {\r\n if (self.FormFields.hasOwnProperty(field)) {\r\n self.FormFields[field].clear();\r\n }\r\n }\r\n }\r\n\r\n SearchForm.prototype.clear = function () {\r\n var self = this;\r\n self.SearchString(\"\");\r\n self.TopicSearchDocumentId(null);\r\n var fileName = self.TopicSearchFileName();\r\n if (fileName) {\r\n self.cancelFileSearch(fileName);\r\n }\r\n self.SearchMode(self.SearchModes.Text);\r\n self.clearExtended();\r\n }\r\n\r\n SearchForm.prototype.toggleExtended = function () {\r\n var self = this;\r\n self.IsExtended(!self.IsExtended());\r\n }\r\n\r\n SearchForm.prototype.setSearchMode = function (searchMode) {\r\n var self = this;\r\n self.SearchMode(searchMode);\r\n }\r\n return SearchForm;\r\n }\r\n);","define([\"knockout\"],\r\n function(ko) {\r\n var DepositedStatistics = function(statistics) {\r\n var self = this;\r\n statistics = statistics || {};\r\n self.Deleted = ko.observable(statistics.Deleted || 0);\r\n self.Deleting = ko.observable(statistics.Deleting || 0);\r\n self.Fixed = ko.observable(statistics.Fixed || 0);\r\n self.Fixing = ko.observable(statistics.Fixing || 0);\r\n self.DocumentsPerType = ko.observableArray(statistics.DocumentsPerType || []);\r\n }\r\n\r\n DepositedStatistics.prototype.refresh = function(data) {\r\n var self = this;\r\n data = data || {};\r\n self.Deleted(data.Deleted || 0);\r\n self.Deleting(data.Deleting || 0);\r\n self.Fixed(data.Fixed || 0);\r\n self.Fixing(data.Fixing || 0);\r\n self.DocumentsPerType(data.DocumentsPerType || []);\r\n }\r\n\r\n DepositedStatistics.prototype.getDocumentsCount = function (documentTypes) {\r\n var self = this;\r\n var result = 0;\r\n ko.utils.arrayForEach(documentTypes || [],\r\n function (type) {\r\n var match = ko.utils.arrayFirst(self.DocumentsPerType() || [],\r\n function (item) {\r\n return item.Key === type;\r\n });\r\n if (match)\r\n result += match.Value;\r\n });\r\n return result;\r\n }\r\n\r\n return DepositedStatistics;\r\n });","define([\"knockout\"],\r\n function(ko) {\r\n var DraftStatistics = function(statistics) {\r\n var self = this;\r\n statistics = statistics || {};\r\n self.Deleted = ko.observable(statistics.Deleted || 0);\r\n self.WithErrors = ko.observable(statistics.WithErrors || 0);\r\n self.InProgress = ko.observable(statistics.InProgress || 0);\r\n self.UserInteractionRequired = ko.observable(statistics.UserInteractionRequired || 0);\r\n }\r\n\r\n DraftStatistics.prototype.refresh = function(data) {\r\n var self = this;\r\n data = data || {};\r\n self.Deleted(data.Deleted || 0);\r\n self.WithErrors(data.WithErrors || 0);\r\n self.InProgress(data.InProgress || 0);\r\n self.UserInteractionRequired(data.UserInteractionRequired || 0);\r\n }\r\n\r\n return DraftStatistics;\r\n });","define(\r\n [\r\n \"knockout\",\r\n \"scripts/statistics/deposited-statistics\",\r\n \"scripts/statistics/draft-statistics\"\r\n ],\r\n function(ko, DepositedStatistics, DraftStatistics) {\r\n var DocumentStatistics = function(statistics) {\r\n var self = this;\r\n statistics = statistics || {};\r\n self.DepositedStatistics = new DepositedStatistics(statistics.DepositedStatistics);\r\n self.DraftStatistics = new DraftStatistics(statistics.DraftStatistics);\r\n self.Licensed = ko.observable(statistics.Licensed || 0);\r\n }\r\n DocumentStatistics.prototype.refresh = function(data) {\r\n var self = this;\r\n data = data || {};\r\n self.DepositedStatistics.refresh(data.DepositedStatistics);\r\n self.DraftStatistics.refresh(data.DraftStatistics);\r\n self.Licensed(data.Licensed || 0);\r\n }\r\n return DocumentStatistics;\r\n }\r\n);","define([\"knockout\"],\r\n function(ko) {\r\n var UserStatistics = function(statistics) {\r\n var self = this;\r\n statistics = statistics || {};\r\n self.NonValidated = ko.observable(statistics.NonValidated || 0);\r\n self.Validated = ko.observable(statistics.Validated || 0);\r\n self.Online = ko.observable(statistics.Online || 0);\r\n }\r\n\r\n UserStatistics.prototype.refresh = function(data) {\r\n var self = this;\r\n data = data || {};\r\n self.NonValidated(data.NonValidated || 0);\r\n self.Validated(data.Validated || 0);\r\n self.Online(data.Online || 0);\r\n }\r\n\r\n return UserStatistics;\r\n });","define(\r\n [\r\n \"scripts/statistics/document-statistics\",\r\n \"scripts/statistics/user-statistics\"\r\n ],\r\n function(DocumentStatistics, UserStatistics) {\r\n var Statistics = function(statistics) {\r\n var self = this;\r\n statistics = statistics || {};\r\n self.DocumentStatistics = new DocumentStatistics(statistics.DocumentStatistics);\r\n self.UserStatistics = new UserStatistics(statistics.UserStatistics);\r\n }\r\n Statistics.prototype.refresh = function(data) {\r\n var self = this;\r\n self.DocumentStatistics.refresh(data.DocumentStatistics);\r\n self.UserStatistics.refresh(data.UserStatistics);\r\n }\r\n return Statistics;\r\n }\r\n);","/* */ \n\"format global\";\nvar DateFormatter;!function(){\"use strict\";var e,t,a,r,n,o;n=864e5,o=3600,e=function(e,t){return\"string\"==typeof e&&\"string\"==typeof t&&e.toLowerCase()===t.toLowerCase()},t=function(e,a,r){var n=r||\"0\",o=e.toString();return o.lengths?\"20\":\"19\")+i):4===f&&(y.year=s),h=!0;break;case\"m\":case\"n\":case\"M\":case\"F\":isNaN(i)?(d=p.monthsShort.indexOf(i),d>-1&&(y.month=d+1),d=p.months.indexOf(i),d>-1&&(y.month=d+1)):s>=1&&12>=s&&(y.month=s),h=!0;break;case\"d\":case\"j\":s>=1&&31>=s&&(y.day=s),h=!0;break;case\"g\":case\"h\":u=r.indexOf(\"a\")>-1?r.indexOf(\"a\"):r.indexOf(\"A\")>-1?r.indexOf(\"A\"):-1,c=n[u],u>-1?(l=e(c,p.meridiem[0])?0:e(c,p.meridiem[1])?12:-1,s>=1&&12>=s&&l>-1?y.hour=s+l-1:s>=0&&23>=s&&(y.hour=s)):s>=0&&23>=s&&(y.hour=s),g=!0;break;case\"G\":case\"H\":s>=0&&23>=s&&(y.hour=s),g=!0;break;case\"i\":s>=0&&59>=s&&(y.min=s),g=!0;break;case\"s\":s>=0&&59>=s&&(y.sec=s),g=!0}if(h===!0&&y.year&&y.month&&y.day)y.date=new Date(y.year,y.month-1,y.day,y.hour,y.min,y.sec,0);else{if(g!==!0)return!1;y.date=new Date(0,0,0,y.hour,y.min,y.sec,0)}return y.date},guessDate:function(e,t){if(\"string\"!=typeof e)return e;var a,r,n,o,i=this,s=e.replace(i.separators,\"\\x00\").split(\"\\x00\"),d=/^[djmn]/g,u=t.match(i.validParts),l=new Date,f=0;if(!d.test(u[0]))return e;for(r=0;r0&&s.splice(r+1,0,n.substr(f))}return l},parseFormat:function(e,a){var r,i=this,s=i.dateSettings,d=/\\\\?(.?)/gi,u=function(e,t){return r[e]?r[e]():t};return r={d:function(){return t(r.j(),2)},D:function(){return s.daysShort[r.w()]},j:function(){return a.getDate()},l:function(){return s.days[r.w()]},N:function(){return r.w()||7},w:function(){return a.getDay()},z:function(){var e=new Date(r.Y(),r.n()-1,r.j()),t=new Date(r.Y(),0,1);return Math.round((e-t)/n)},W:function(){var e=new Date(r.Y(),r.n()-1,r.j()-r.N()+3),a=new Date(e.getFullYear(),0,4);return t(1+Math.round((e-a)/n/7),2)},F:function(){return s.months[a.getMonth()]},m:function(){return t(r.n(),2)},M:function(){return s.monthsShort[a.getMonth()]},n:function(){return a.getMonth()+1},t:function(){return new Date(r.Y(),r.n(),0).getDate()},L:function(){var e=r.Y();return e%4===0&&e%100!==0||e%400===0?1:0},o:function(){var e=r.n(),t=r.W(),a=r.Y();return a+(12===e&&9>t?1:1===e&&t>9?-1:0)},Y:function(){return a.getFullYear()},y:function(){return r.Y().toString().slice(-2)},a:function(){return r.A().toLowerCase()},A:function(){var e=r.G()<12?0:1;return s.meridiem[e]},B:function(){var e=a.getUTCHours()*o,r=60*a.getUTCMinutes(),n=a.getUTCSeconds();return t(Math.floor((e+r+n+o)/86.4)%1e3,3)},g:function(){return r.G()%12||12},G:function(){return a.getHours()},h:function(){return t(r.g(),2)},H:function(){return t(r.G(),2)},i:function(){return t(a.getMinutes(),2)},s:function(){return t(a.getSeconds(),2)},u:function(){return t(1e3*a.getMilliseconds(),6)},e:function(){var e=/\\((.*)\\)/.exec(String(a))[1];return e||\"Coordinated Universal Time\"},T:function(){var e=(String(a).match(i.tzParts)||[\"\"]).pop().replace(i.tzClip,\"\");return e||\"UTC\"},I:function(){var e=new Date(r.Y(),0),t=Date.UTC(r.Y(),0),a=new Date(r.Y(),6),n=Date.UTC(r.Y(),6);return e-t!==a-n?1:0},O:function(){var e=a.getTimezoneOffset(),r=Math.abs(e);return(e>0?\"-\":\"+\")+t(100*Math.floor(r/60)+r%60,4)},P:function(){var e=r.O();return e.substr(0,3)+\":\"+e.substr(3,2)},Z:function(){return 60*-a.getTimezoneOffset()},c:function(){return\"Y-m-d\\\\TH:i:sP\".replace(d,u)},r:function(){return\"D, d M Y H:i:s O\".replace(d,u)},U:function(){return a.getTime()/1e3||0}},u(e,e)},formatDate:function(e,t){var a,r,n,o,i,s=this,d=\"\";if(\"string\"==typeof e&&(e=s.parseDate(e,t),e===!1))return!1;if(e instanceof Date){for(n=t.length,a=0;n>a;a++)i=t.charAt(a),\"S\"!==i&&(o=s.parseFormat(i,e),a!==n-1&&s.intParts.test(i)&&\"S\"===t.charAt(a+1)&&(r=parseInt(o),o+=s.dateSettings.ordinal(r)),d+=o);return d}return\"\"}}}(),function(e){\"function\"==typeof define&&define.amd?define([\"jquery\",\"jquery-mousewheel\"],e):\"object\"==typeof exports?module.exports=e:e(jQuery)}(function(e){\"use strict\";function t(e,t,a){this.date=e,this.desc=t,this.style=a}var a={i18n:{ar:{months:[\"كانون الثاني\",\"شباط\",\"آذار\",\"نيسان\",\"مايو\",\"حزيران\",\"تموز\",\"آب\",\"أيلول\",\"تشرين الأول\",\"تشرين الثاني\",\"كانون الأول\"],dayOfWeekShort:[\"ن\",\"ث\",\"ع\",\"خ\",\"ج\",\"س\",\"ح\"],dayOfWeek:[\"الأحد\",\"الاثنين\",\"الثلاثاء\",\"الأربعاء\",\"الخميس\",\"الجمعة\",\"السبت\",\"الأحد\"]},ro:{months:[\"Ianuarie\",\"Februarie\",\"Martie\",\"Aprilie\",\"Mai\",\"Iunie\",\"Iulie\",\"August\",\"Septembrie\",\"Octombrie\",\"Noiembrie\",\"Decembrie\"],dayOfWeekShort:[\"Du\",\"Lu\",\"Ma\",\"Mi\",\"Jo\",\"Vi\",\"Sâ\"],dayOfWeek:[\"Duminică\",\"Luni\",\"Marţi\",\"Miercuri\",\"Joi\",\"Vineri\",\"Sâmbătă\"]},id:{months:[\"Januari\",\"Februari\",\"Maret\",\"April\",\"Mei\",\"Juni\",\"Juli\",\"Agustus\",\"September\",\"Oktober\",\"November\",\"Desember\"],dayOfWeekShort:[\"Min\",\"Sen\",\"Sel\",\"Rab\",\"Kam\",\"Jum\",\"Sab\"],dayOfWeek:[\"Minggu\",\"Senin\",\"Selasa\",\"Rabu\",\"Kamis\",\"Jumat\",\"Sabtu\"]},is:{months:[\"Janúar\",\"Febrúar\",\"Mars\",\"Apríl\",\"Maí\",\"Júní\",\"Júlí\",\"Ágúst\",\"September\",\"Október\",\"Nóvember\",\"Desember\"],dayOfWeekShort:[\"Sun\",\"Mán\",\"Þrið\",\"Mið\",\"Fim\",\"Fös\",\"Lau\"],dayOfWeek:[\"Sunnudagur\",\"Mánudagur\",\"Þriðjudagur\",\"Miðvikudagur\",\"Fimmtudagur\",\"Föstudagur\",\"Laugardagur\"]},bg:{months:[\"Януари\",\"Февруари\",\"Март\",\"Април\",\"Май\",\"Юни\",\"Юли\",\"Август\",\"Септември\",\"Октомври\",\"Ноември\",\"Декември\"],dayOfWeekShort:[\"Нд\",\"Пн\",\"Вт\",\"Ср\",\"Чт\",\"Пт\",\"Сб\"],dayOfWeek:[\"Неделя\",\"Понеделник\",\"Вторник\",\"Сряда\",\"Четвъртък\",\"Петък\",\"Събота\"]},fa:{months:[\"فروردین\",\"اردیبهشت\",\"خرداد\",\"تیر\",\"مرداد\",\"شهریور\",\"مهر\",\"آبان\",\"آذر\",\"دی\",\"بهمن\",\"اسفند\"],dayOfWeekShort:[\"یکشنبه\",\"دوشنبه\",\"سه شنبه\",\"چهارشنبه\",\"پنجشنبه\",\"جمعه\",\"شنبه\"],dayOfWeek:[\"یک‌شنبه\",\"دوشنبه\",\"سه‌شنبه\",\"چهارشنبه\",\"پنج‌شنبه\",\"جمعه\",\"شنبه\",\"یک‌شنبه\"]},ru:{months:[\"Январь\",\"Февраль\",\"Март\",\"Апрель\",\"Май\",\"Июнь\",\"Июль\",\"Август\",\"Сентябрь\",\"Октябрь\",\"Ноябрь\",\"Декабрь\"],dayOfWeekShort:[\"Вс\",\"Пн\",\"Вт\",\"Ср\",\"Чт\",\"Пт\",\"Сб\"],dayOfWeek:[\"Воскресенье\",\"Понедельник\",\"Вторник\",\"Среда\",\"Четверг\",\"Пятница\",\"Суббота\"]},uk:{months:[\"Січень\",\"Лютий\",\"Березень\",\"Квітень\",\"Травень\",\"Червень\",\"Липень\",\"Серпень\",\"Вересень\",\"Жовтень\",\"Листопад\",\"Грудень\"],dayOfWeekShort:[\"Ндл\",\"Пнд\",\"Втр\",\"Срд\",\"Чтв\",\"Птн\",\"Сбт\"],dayOfWeek:[\"Неділя\",\"Понеділок\",\"Вівторок\",\"Середа\",\"Четвер\",\"П'ятниця\",\"Субота\"]},en:{months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],dayOfWeekShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayOfWeek:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"]},el:{months:[\"Ιανουάριος\",\"Φεβρουάριος\",\"Μάρτιος\",\"Απρίλιος\",\"Μάιος\",\"Ιούνιος\",\"Ιούλιος\",\"Αύγουστος\",\"Σεπτέμβριος\",\"Οκτώβριος\",\"Νοέμβριος\",\"Δεκέμβριος\"],dayOfWeekShort:[\"Κυρ\",\"Δευ\",\"Τρι\",\"Τετ\",\"Πεμ\",\"Παρ\",\"Σαβ\"],dayOfWeek:[\"Κυριακή\",\"Δευτέρα\",\"Τρίτη\",\"Τετάρτη\",\"Πέμπτη\",\"Παρασκευή\",\"Σάββατο\"]},de:{months:[\"Januar\",\"Februar\",\"März\",\"April\",\"Mai\",\"Juni\",\"Juli\",\"August\",\"September\",\"Oktober\",\"November\",\"Dezember\"],dayOfWeekShort:[\"So\",\"Mo\",\"Di\",\"Mi\",\"Do\",\"Fr\",\"Sa\"],dayOfWeek:[\"Sonntag\",\"Montag\",\"Dienstag\",\"Mittwoch\",\"Donnerstag\",\"Freitag\",\"Samstag\"]},nl:{months:[\"januari\",\"februari\",\"maart\",\"april\",\"mei\",\"juni\",\"juli\",\"augustus\",\"september\",\"oktober\",\"november\",\"december\"],dayOfWeekShort:[\"zo\",\"ma\",\"di\",\"wo\",\"do\",\"vr\",\"za\"],dayOfWeek:[\"zondag\",\"maandag\",\"dinsdag\",\"woensdag\",\"donderdag\",\"vrijdag\",\"zaterdag\"]},tr:{months:[\"Ocak\",\"Şubat\",\"Mart\",\"Nisan\",\"Mayıs\",\"Haziran\",\"Temmuz\",\"Ağustos\",\"Eylül\",\"Ekim\",\"Kasım\",\"Aralık\"],dayOfWeekShort:[\"Paz\",\"Pts\",\"Sal\",\"Çar\",\"Per\",\"Cum\",\"Cts\"],dayOfWeek:[\"Pazar\",\"Pazartesi\",\"Salı\",\"Çarşamba\",\"Perşembe\",\"Cuma\",\"Cumartesi\"]},fr:{months:[\"Janvier\",\"Février\",\"Mars\",\"Avril\",\"Mai\",\"Juin\",\"Juillet\",\"Août\",\"Septembre\",\"Octobre\",\"Novembre\",\"Décembre\"],dayOfWeekShort:[\"Dim\",\"Lun\",\"Mar\",\"Mer\",\"Jeu\",\"Ven\",\"Sam\"],dayOfWeek:[\"dimanche\",\"lundi\",\"mardi\",\"mercredi\",\"jeudi\",\"vendredi\",\"samedi\"]},es:{months:[\"Enero\",\"Febrero\",\"Marzo\",\"Abril\",\"Mayo\",\"Junio\",\"Julio\",\"Agosto\",\"Septiembre\",\"Octubre\",\"Noviembre\",\"Diciembre\"],dayOfWeekShort:[\"Dom\",\"Lun\",\"Mar\",\"Mié\",\"Jue\",\"Vie\",\"Sáb\"],dayOfWeek:[\"Domingo\",\"Lunes\",\"Martes\",\"Miércoles\",\"Jueves\",\"Viernes\",\"Sábado\"]},th:{months:[\"มกราคม\",\"กุมภาพันธ์\",\"มีนาคม\",\"เมษายน\",\"พฤษภาคม\",\"มิถุนายน\",\"กรกฎาคม\",\"สิงหาคม\",\"กันยายน\",\"ตุลาคม\",\"พฤศจิกายน\",\"ธันวาคม\"],dayOfWeekShort:[\"อา.\",\"จ.\",\"อ.\",\"พ.\",\"พฤ.\",\"ศ.\",\"ส.\"],dayOfWeek:[\"อาทิตย์\",\"จันทร์\",\"อังคาร\",\"พุธ\",\"พฤหัส\",\"ศุกร์\",\"เสาร์\",\"อาทิตย์\"]},pl:{months:[\"styczeń\",\"luty\",\"marzec\",\"kwiecień\",\"maj\",\"czerwiec\",\"lipiec\",\"sierpień\",\"wrzesień\",\"październik\",\"listopad\",\"grudzień\"],dayOfWeekShort:[\"nd\",\"pn\",\"wt\",\"śr\",\"cz\",\"pt\",\"sb\"],dayOfWeek:[\"niedziela\",\"poniedziałek\",\"wtorek\",\"środa\",\"czwartek\",\"piątek\",\"sobota\"]},pt:{months:[\"Janeiro\",\"Fevereiro\",\"Março\",\"Abril\",\"Maio\",\"Junho\",\"Julho\",\"Agosto\",\"Setembro\",\"Outubro\",\"Novembro\",\"Dezembro\"],dayOfWeekShort:[\"Dom\",\"Seg\",\"Ter\",\"Qua\",\"Qui\",\"Sex\",\"Sab\"],dayOfWeek:[\"Domingo\",\"Segunda\",\"Terça\",\"Quarta\",\"Quinta\",\"Sexta\",\"Sábado\"]},ch:{months:[\"一月\",\"二月\",\"三月\",\"四月\",\"五月\",\"六月\",\"七月\",\"八月\",\"九月\",\"十月\",\"十一月\",\"十二月\"],dayOfWeekShort:[\"日\",\"一\",\"二\",\"三\",\"四\",\"五\",\"六\"]},se:{months:[\"Januari\",\"Februari\",\"Mars\",\"April\",\"Maj\",\"Juni\",\"Juli\",\"Augusti\",\"September\",\"Oktober\",\"November\",\"December\"],dayOfWeekShort:[\"Sön\",\"Mån\",\"Tis\",\"Ons\",\"Tor\",\"Fre\",\"Lör\"]},kr:{months:[\"1월\",\"2월\",\"3월\",\"4월\",\"5월\",\"6월\",\"7월\",\"8월\",\"9월\",\"10월\",\"11월\",\"12월\"],dayOfWeekShort:[\"일\",\"월\",\"화\",\"수\",\"목\",\"금\",\"토\"],dayOfWeek:[\"일요일\",\"월요일\",\"화요일\",\"수요일\",\"목요일\",\"금요일\",\"토요일\"]},it:{months:[\"Gennaio\",\"Febbraio\",\"Marzo\",\"Aprile\",\"Maggio\",\"Giugno\",\"Luglio\",\"Agosto\",\"Settembre\",\"Ottobre\",\"Novembre\",\"Dicembre\"],dayOfWeekShort:[\"Dom\",\"Lun\",\"Mar\",\"Mer\",\"Gio\",\"Ven\",\"Sab\"],dayOfWeek:[\"Domenica\",\"Lunedì\",\"Martedì\",\"Mercoledì\",\"Giovedì\",\"Venerdì\",\"Sabato\"]},da:{months:[\"January\",\"Februar\",\"Marts\",\"April\",\"Maj\",\"Juni\",\"July\",\"August\",\"September\",\"Oktober\",\"November\",\"December\"],dayOfWeekShort:[\"Søn\",\"Man\",\"Tir\",\"Ons\",\"Tor\",\"Fre\",\"Lør\"],dayOfWeek:[\"søndag\",\"mandag\",\"tirsdag\",\"onsdag\",\"torsdag\",\"fredag\",\"lørdag\"]},no:{months:[\"Januar\",\"Februar\",\"Mars\",\"April\",\"Mai\",\"Juni\",\"Juli\",\"August\",\"September\",\"Oktober\",\"November\",\"Desember\"],dayOfWeekShort:[\"Søn\",\"Man\",\"Tir\",\"Ons\",\"Tor\",\"Fre\",\"Lør\"],dayOfWeek:[\"Søndag\",\"Mandag\",\"Tirsdag\",\"Onsdag\",\"Torsdag\",\"Fredag\",\"Lørdag\"]},ja:{months:[\"1月\",\"2月\",\"3月\",\"4月\",\"5月\",\"6月\",\"7月\",\"8月\",\"9月\",\"10月\",\"11月\",\"12月\"],dayOfWeekShort:[\"日\",\"月\",\"火\",\"水\",\"木\",\"金\",\"土\"],dayOfWeek:[\"日曜\",\"月曜\",\"火曜\",\"水曜\",\"木曜\",\"金曜\",\"土曜\"]},vi:{months:[\"Tháng 1\",\"Tháng 2\",\"Tháng 3\",\"Tháng 4\",\"Tháng 5\",\"Tháng 6\",\"Tháng 7\",\"Tháng 8\",\"Tháng 9\",\"Tháng 10\",\"Tháng 11\",\"Tháng 12\"],dayOfWeekShort:[\"CN\",\"T2\",\"T3\",\"T4\",\"T5\",\"T6\",\"T7\"],dayOfWeek:[\"Chủ nhật\",\"Thứ hai\",\"Thứ ba\",\"Thứ tư\",\"Thứ năm\",\"Thứ sáu\",\"Thứ bảy\"]},sl:{months:[\"Januar\",\"Februar\",\"Marec\",\"April\",\"Maj\",\"Junij\",\"Julij\",\"Avgust\",\"September\",\"Oktober\",\"November\",\"December\"],dayOfWeekShort:[\"Ned\",\"Pon\",\"Tor\",\"Sre\",\"Čet\",\"Pet\",\"Sob\"],dayOfWeek:[\"Nedelja\",\"Ponedeljek\",\"Torek\",\"Sreda\",\"Četrtek\",\"Petek\",\"Sobota\"]},cs:{months:[\"Leden\",\"Únor\",\"Březen\",\"Duben\",\"Květen\",\"Červen\",\"Červenec\",\"Srpen\",\"Září\",\"Říjen\",\"Listopad\",\"Prosinec\"],dayOfWeekShort:[\"Ne\",\"Po\",\"Út\",\"St\",\"Čt\",\"Pá\",\"So\"]},hu:{months:[\"Január\",\"Február\",\"Március\",\"Április\",\"Május\",\"Június\",\"Július\",\"Augusztus\",\"Szeptember\",\"Október\",\"November\",\"December\"],dayOfWeekShort:[\"Va\",\"Hé\",\"Ke\",\"Sze\",\"Cs\",\"Pé\",\"Szo\"],dayOfWeek:[\"vasárnap\",\"hétfő\",\"kedd\",\"szerda\",\"csütörtök\",\"péntek\",\"szombat\"]},az:{months:[\"Yanvar\",\"Fevral\",\"Mart\",\"Aprel\",\"May\",\"Iyun\",\"Iyul\",\"Avqust\",\"Sentyabr\",\"Oktyabr\",\"Noyabr\",\"Dekabr\"],dayOfWeekShort:[\"B\",\"Be\",\"Ça\",\"Ç\",\"Ca\",\"C\",\"Ş\"],dayOfWeek:[\"Bazar\",\"Bazar ertəsi\",\"Çərşənbə axşamı\",\"Çərşənbə\",\"Cümə axşamı\",\"Cümə\",\"Şənbə\"]},bs:{months:[\"Januar\",\"Februar\",\"Mart\",\"April\",\"Maj\",\"Jun\",\"Jul\",\"Avgust\",\"Septembar\",\"Oktobar\",\"Novembar\",\"Decembar\"],dayOfWeekShort:[\"Ned\",\"Pon\",\"Uto\",\"Sri\",\"Čet\",\"Pet\",\"Sub\"],dayOfWeek:[\"Nedjelja\",\"Ponedjeljak\",\"Utorak\",\"Srijeda\",\"Četvrtak\",\"Petak\",\"Subota\"]},ca:{months:[\"Gener\",\"Febrer\",\"Març\",\"Abril\",\"Maig\",\"Juny\",\"Juliol\",\"Agost\",\"Setembre\",\"Octubre\",\"Novembre\",\"Desembre\"],dayOfWeekShort:[\"Dg\",\"Dl\",\"Dt\",\"Dc\",\"Dj\",\"Dv\",\"Ds\"],dayOfWeek:[\"Diumenge\",\"Dilluns\",\"Dimarts\",\"Dimecres\",\"Dijous\",\"Divendres\",\"Dissabte\"]},\"en-GB\":{months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],dayOfWeekShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayOfWeek:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"]},et:{months:[\"Jaanuar\",\"Veebruar\",\"Märts\",\"Aprill\",\"Mai\",\"Juuni\",\"Juuli\",\"August\",\"September\",\"Oktoober\",\"November\",\"Detsember\"],dayOfWeekShort:[\"P\",\"E\",\"T\",\"K\",\"N\",\"R\",\"L\"],dayOfWeek:[\"Pühapäev\",\"Esmaspäev\",\"Teisipäev\",\"Kolmapäev\",\"Neljapäev\",\"Reede\",\"Laupäev\"]},eu:{months:[\"Urtarrila\",\"Otsaila\",\"Martxoa\",\"Apirila\",\"Maiatza\",\"Ekaina\",\"Uztaila\",\"Abuztua\",\"Iraila\",\"Urria\",\"Azaroa\",\"Abendua\"],dayOfWeekShort:[\"Ig.\",\"Al.\",\"Ar.\",\"Az.\",\"Og.\",\"Or.\",\"La.\"],dayOfWeek:[\"Igandea\",\"Astelehena\",\"Asteartea\",\"Asteazkena\",\"Osteguna\",\"Ostirala\",\"Larunbata\"]},fi:{months:[\"Tammikuu\",\"Helmikuu\",\"Maaliskuu\",\"Huhtikuu\",\"Toukokuu\",\"Kesäkuu\",\"Heinäkuu\",\"Elokuu\",\"Syyskuu\",\"Lokakuu\",\"Marraskuu\",\"Joulukuu\"],dayOfWeekShort:[\"Su\",\"Ma\",\"Ti\",\"Ke\",\"To\",\"Pe\",\"La\"],dayOfWeek:[\"sunnuntai\",\"maanantai\",\"tiistai\",\"keskiviikko\",\"torstai\",\"perjantai\",\"lauantai\"]},gl:{months:[\"Xan\",\"Feb\",\"Maz\",\"Abr\",\"Mai\",\"Xun\",\"Xul\",\"Ago\",\"Set\",\"Out\",\"Nov\",\"Dec\"],dayOfWeekShort:[\"Dom\",\"Lun\",\"Mar\",\"Mer\",\"Xov\",\"Ven\",\"Sab\"],dayOfWeek:[\"Domingo\",\"Luns\",\"Martes\",\"Mércores\",\"Xoves\",\"Venres\",\"Sábado\"]},hr:{months:[\"Siječanj\",\"Veljača\",\"Ožujak\",\"Travanj\",\"Svibanj\",\"Lipanj\",\"Srpanj\",\"Kolovoz\",\"Rujan\",\"Listopad\",\"Studeni\",\"Prosinac\"],dayOfWeekShort:[\"Ned\",\"Pon\",\"Uto\",\"Sri\",\"Čet\",\"Pet\",\"Sub\"],dayOfWeek:[\"Nedjelja\",\"Ponedjeljak\",\"Utorak\",\"Srijeda\",\"Četvrtak\",\"Petak\",\"Subota\"]},ko:{months:[\"1월\",\"2월\",\"3월\",\"4월\",\"5월\",\"6월\",\"7월\",\"8월\",\"9월\",\"10월\",\"11월\",\"12월\"],dayOfWeekShort:[\"일\",\"월\",\"화\",\"수\",\"목\",\"금\",\"토\"],dayOfWeek:[\"일요일\",\"월요일\",\"화요일\",\"수요일\",\"목요일\",\"금요일\",\"토요일\"]},lt:{months:[\"Sausio\",\"Vasario\",\"Kovo\",\"Balandžio\",\"Gegužės\",\"Birželio\",\"Liepos\",\"Rugpjūčio\",\"Rugsėjo\",\"Spalio\",\"Lapkričio\",\"Gruodžio\"],dayOfWeekShort:[\"Sek\",\"Pir\",\"Ant\",\"Tre\",\"Ket\",\"Pen\",\"Šeš\"],dayOfWeek:[\"Sekmadienis\",\"Pirmadienis\",\"Antradienis\",\"Trečiadienis\",\"Ketvirtadienis\",\"Penktadienis\",\"Šeštadienis\"]},lv:{months:[\"Janvāris\",\"Februāris\",\"Marts\",\"Aprīlis \",\"Maijs\",\"Jūnijs\",\"Jūlijs\",\"Augusts\",\"Septembris\",\"Oktobris\",\"Novembris\",\"Decembris\"],dayOfWeekShort:[\"Sv\",\"Pr\",\"Ot\",\"Tr\",\"Ct\",\"Pk\",\"St\"],dayOfWeek:[\"Svētdiena\",\"Pirmdiena\",\"Otrdiena\",\"Trešdiena\",\"Ceturtdiena\",\"Piektdiena\",\"Sestdiena\"]},mk:{months:[\"јануари\",\"февруари\",\"март\",\"април\",\"мај\",\"јуни\",\"јули\",\"август\",\"септември\",\"октомври\",\"ноември\",\"декември\"],dayOfWeekShort:[\"нед\",\"пон\",\"вто\",\"сре\",\"чет\",\"пет\",\"саб\"],dayOfWeek:[\"Недела\",\"Понеделник\",\"Вторник\",\"Среда\",\"Четврток\",\"Петок\",\"Сабота\"]},mn:{months:[\"1-р сар\",\"2-р сар\",\"3-р сар\",\"4-р сар\",\"5-р сар\",\"6-р сар\",\"7-р сар\",\"8-р сар\",\"9-р сар\",\"10-р сар\",\"11-р сар\",\"12-р сар\"],dayOfWeekShort:[\"Дав\",\"Мяг\",\"Лха\",\"Пүр\",\"Бсн\",\"Бям\",\"Ням\"],dayOfWeek:[\"Даваа\",\"Мягмар\",\"Лхагва\",\"Пүрэв\",\"Баасан\",\"Бямба\",\"Ням\"]},\"pt-BR\":{months:[\"Janeiro\",\"Fevereiro\",\"Março\",\"Abril\",\"Maio\",\"Junho\",\"Julho\",\"Agosto\",\"Setembro\",\"Outubro\",\"Novembro\",\"Dezembro\"],dayOfWeekShort:[\"Dom\",\"Seg\",\"Ter\",\"Qua\",\"Qui\",\"Sex\",\"Sáb\"],dayOfWeek:[\"Domingo\",\"Segunda\",\"Terça\",\"Quarta\",\"Quinta\",\"Sexta\",\"Sábado\"]},sk:{months:[\"Január\",\"Február\",\"Marec\",\"Apríl\",\"Máj\",\"Jún\",\"Júl\",\"August\",\"September\",\"Október\",\"November\",\"December\"],dayOfWeekShort:[\"Ne\",\"Po\",\"Ut\",\"St\",\"Št\",\"Pi\",\"So\"],dayOfWeek:[\"Nedeľa\",\"Pondelok\",\"Utorok\",\"Streda\",\"Štvrtok\",\"Piatok\",\"Sobota\"]},sq:{months:[\"Janar\",\"Shkurt\",\"Mars\",\"Prill\",\"Maj\",\"Qershor\",\"Korrik\",\"Gusht\",\"Shtator\",\"Tetor\",\"Nëntor\",\"Dhjetor\"],dayOfWeekShort:[\"Die\",\"Hën\",\"Mar\",\"Mër\",\"Enj\",\"Pre\",\"Shtu\"],dayOfWeek:[\"E Diel\",\"E Hënë\",\"E Martē\",\"E Mërkurë\",\"E Enjte\",\"E Premte\",\"E Shtunë\"]},\"sr-YU\":{months:[\"Januar\",\"Februar\",\"Mart\",\"April\",\"Maj\",\"Jun\",\"Jul\",\"Avgust\",\"Septembar\",\"Oktobar\",\"Novembar\",\"Decembar\"],dayOfWeekShort:[\"Ned\",\"Pon\",\"Uto\",\"Sre\",\"čet\",\"Pet\",\"Sub\"],dayOfWeek:[\"Nedelja\",\"Ponedeljak\",\"Utorak\",\"Sreda\",\"Četvrtak\",\"Petak\",\"Subota\"]},sr:{months:[\"јануар\",\"фебруар\",\"март\",\"април\",\"мај\",\"јун\",\"јул\",\"август\",\"септембар\",\"октобар\",\"новембар\",\"децембар\"],dayOfWeekShort:[\"нед\",\"пон\",\"уто\",\"сре\",\"чет\",\"пет\",\"суб\"],dayOfWeek:[\"Недеља\",\"Понедељак\",\"Уторак\",\"Среда\",\"Четвртак\",\"Петак\",\"Субота\"]},sv:{months:[\"Januari\",\"Februari\",\"Mars\",\"April\",\"Maj\",\"Juni\",\"Juli\",\"Augusti\",\"September\",\"Oktober\",\"November\",\"December\"],dayOfWeekShort:[\"Sön\",\"Mån\",\"Tis\",\"Ons\",\"Tor\",\"Fre\",\"Lör\"],dayOfWeek:[\"Söndag\",\"Måndag\",\"Tisdag\",\"Onsdag\",\"Torsdag\",\"Fredag\",\"Lördag\"]},\"zh-TW\":{months:[\"一月\",\"二月\",\"三月\",\"四月\",\"五月\",\"六月\",\"七月\",\"八月\",\"九月\",\"十月\",\"十一月\",\"十二月\"],dayOfWeekShort:[\"日\",\"一\",\"二\",\"三\",\"四\",\"五\",\"六\"],dayOfWeek:[\"星期日\",\"星期一\",\"星期二\",\"星期三\",\"星期四\",\"星期五\",\"星期六\"]},zh:{months:[\"一月\",\"二月\",\"三月\",\"四月\",\"五月\",\"六月\",\"七月\",\"八月\",\"九月\",\"十月\",\"十一月\",\"十二月\"],dayOfWeekShort:[\"日\",\"一\",\"二\",\"三\",\"四\",\"五\",\"六\"],dayOfWeek:[\"星期日\",\"星期一\",\"星期二\",\"星期三\",\"星期四\",\"星期五\",\"星期六\"]},he:{months:[\"ינואר\",\"פברואר\",\"מרץ\",\"אפריל\",\"מאי\",\"יוני\",\"יולי\",\"אוגוסט\",\"ספטמבר\",\"אוקטובר\",\"נובמבר\",\"דצמבר\"],dayOfWeekShort:[\"א'\",\"ב'\",\"ג'\",\"ד'\",\"ה'\",\"ו'\",\"שבת\"],dayOfWeek:[\"ראשון\",\"שני\",\"שלישי\",\"רביעי\",\"חמישי\",\"שישי\",\"שבת\",\"ראשון\"]},hy:{months:[\"Հունվար\",\"Փետրվար\",\"Մարտ\",\"Ապրիլ\",\"Մայիս\",\"Հունիս\",\"Հուլիս\",\"Օգոստոս\",\"Սեպտեմբեր\",\"Հոկտեմբեր\",\"Նոյեմբեր\",\"Դեկտեմբեր\"],dayOfWeekShort:[\"Կի\",\"Երկ\",\"Երք\",\"Չոր\",\"Հնգ\",\"Ուրբ\",\"Շբթ\"],dayOfWeek:[\"Կիրակի\",\"Երկուշաբթի\",\"Երեքշաբթի\",\"Չորեքշաբթի\",\"Հինգշաբթի\",\"Ուրբաթ\",\"Շաբաթ\"]},kg:{months:[\"Үчтүн айы\",\"Бирдин айы\",\"Жалган Куран\",\"Чын Куран\",\"Бугу\",\"Кулжа\",\"Теке\",\"Баш Оона\",\"Аяк Оона\",\"Тогуздун айы\",\"Жетинин айы\",\"Бештин айы\"],dayOfWeekShort:[\"Жек\",\"Дүй\",\"Шей\",\"Шар\",\"Бей\",\"Жум\",\"Ише\"],dayOfWeek:[\"Жекшемб\",\"Дүйшөмб\",\"Шейшемб\",\"Шаршемб\",\"Бейшемби\",\"Жума\",\"Ишенб\"]},rm:{months:[\"Schaner\",\"Favrer\",\"Mars\",\"Avrigl\",\"Matg\",\"Zercladur\",\"Fanadur\",\"Avust\",\"Settember\",\"October\",\"November\",\"December\"],dayOfWeekShort:[\"Du\",\"Gli\",\"Ma\",\"Me\",\"Gie\",\"Ve\",\"So\"],dayOfWeek:[\"Dumengia\",\"Glindesdi\",\"Mardi\",\"Mesemna\",\"Gievgia\",\"Venderdi\",\"Sonda\"]},ka:{months:[\"იანვარი\",\"თებერვალი\",\"მარტი\",\"აპრილი\",\"მაისი\",\"ივნისი\",\"ივლისი\",\"აგვისტო\",\"სექტემბერი\",\"ოქტომბერი\",\"ნოემბერი\",\"დეკემბერი\"],dayOfWeekShort:[\"კვ\",\"ორშ\",\"სამშ\",\"ოთხ\",\"ხუთ\",\"პარ\",\"შაბ\"],dayOfWeek:[\"კვირა\",\"ორშაბათი\",\"სამშაბათი\",\"ოთხშაბათი\",\"ხუთშაბათი\",\"პარასკევი\",\"შაბათი\"]}},value:\"\",rtl:!1,format:\"Y/m/d H:i\",formatTime:\"H:i\",formatDate:\"Y/m/d\",startDate:!1,step:60,monthChangeSpinner:!0,closeOnDateSelect:!1,closeOnTimeSelect:!0,closeOnWithoutClick:!0,closeOnInputClick:!0,timepicker:!0,datepicker:!0,weeks:!1,defaultTime:!1,defaultDate:!1,minDate:!1,maxDate:!1,minTime:!1,maxTime:!1,disabledMinTime:!1,disabledMaxTime:!1,allowTimes:[],opened:!1,initTime:!0,inline:!1,theme:\"\",onSelectDate:function(){},onSelectTime:function(){},onChangeMonth:function(){},onGetWeekOfYear:function(){},onChangeYear:function(){},onChangeDateTime:function(){},onShow:function(){},onClose:function(){},onGenerate:function(){},withoutCopyright:!0,inverseButton:!1,hours12:!1,next:\"xdsoft_next\",prev:\"xdsoft_prev\",dayOfWeekStart:0,parentID:\"body\",timeHeightInTimePicker:25,timepickerScrollbar:!0,todayButton:!0,prevButton:!0,nextButton:!0,defaultSelect:!0,scrollMonth:!0,scrollTime:!0,scrollInput:!0,lazyInit:!1,mask:!1,validateOnBlur:!0,allowBlank:!0,yearStart:1950,yearEnd:2050,monthStart:0,monthEnd:11,style:\"\",id:\"\",fixed:!1,roundTime:\"round\",className:\"\",weekends:[],highlightedDates:[],highlightedPeriods:[],allowDates:[],allowDateRe:null,disabledDates:[],disabledWeekDays:[],yearOffset:0,beforeShowDay:null,enterLikeTab:!0,showApplyButton:!1},r=null,n=\"en\",o=\"en\",i={meridiem:[\"AM\",\"PM\"]},s=function(){var t=a.i18n[o],n={days:t.dayOfWeek,daysShort:t.dayOfWeekShort,months:t.months,monthsShort:e.map(t.months,function(e){return e.substring(0,3)})};r=new DateFormatter({dateSettings:e.extend({},i,n)})};e.datetimepicker={setLocale:function(e){var t=a.i18n[e]?e:n;o!=t&&(o=t,s())},setDateFormatter:function(e){r=e},RFC_2822:\"D, d M Y H:i:s O\",ATOM:\"Y-m-dTH:i:sP\",ISO_8601:\"Y-m-dTH:i:sO\",RFC_822:\"D, d M y H:i:s O\",RFC_850:\"l, d-M-y H:i:s T\",RFC_1036:\"D, d M y H:i:s O\",RFC_1123:\"D, d M Y H:i:s O\",RSS:\"D, d M Y H:i:s O\",W3C:\"Y-m-dTH:i:sP\"},s(),window.getComputedStyle||(window.getComputedStyle=function(e){return this.el=e,this.getPropertyValue=function(t){var a=/(\\-([a-z]){1})/g;return\"float\"===t&&(t=\"styleFloat\"),a.test(t)&&(t=t.replace(a,function(e,t,a){return a.toUpperCase()})),e.currentStyle[t]||null},this}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var a,r;for(a=t||0,r=this.length;r>a;a+=1)if(this[a]===e)return a;return-1}),Date.prototype.countDaysInMonth=function(){return new Date(this.getFullYear(),this.getMonth()+1,0).getDate()},e.fn.xdsoftScroller=function(t){return this.each(function(){var a,r,n,o,i,s=e(this),d=function(e){var t,a={x:0,y:0};return\"touchstart\"===e.type||\"touchmove\"===e.type||\"touchend\"===e.type||\"touchcancel\"===e.type?(t=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0],a.x=t.clientX,a.y=t.clientY):(\"mousedown\"===e.type||\"mouseup\"===e.type||\"mousemove\"===e.type||\"mouseover\"===e.type||\"mouseout\"===e.type||\"mouseenter\"===e.type||\"mouseleave\"===e.type)&&(a.x=e.clientX,a.y=e.clientY),a},u=100,l=!1,f=0,c=0,m=0,h=!1,g=0,p=function(){};return\"hide\"===t?void s.find(\".xdsoft_scrollbar\").hide():(e(this).hasClass(\"xdsoft_scroller_box\")||(a=s.children().eq(0),r=s[0].clientHeight,n=a[0].offsetHeight,o=e('
'),i=e('
'),o.append(i),s.addClass(\"xdsoft_scroller_box\").append(o),p=function(e){var t=d(e).y-f+g;0>t&&(t=0),t+i[0].offsetHeight>m&&(t=m-i[0].offsetHeight),s.trigger(\"scroll_element.xdsoft_scroller\",[u?t/u:0])},i.on(\"touchstart.xdsoft_scroller mousedown.xdsoft_scroller\",function(a){r||s.trigger(\"resize_scroll.xdsoft_scroller\",[t]),f=d(a).y,g=parseInt(i.css(\"margin-top\"),10),m=o[0].offsetHeight,\"mousedown\"===a.type||\"touchstart\"===a.type?(document&&e(document.body).addClass(\"xdsoft_noselect\"),e([document.body,window]).on(\"touchend mouseup.xdsoft_scroller\",function n(){e([document.body,window]).off(\"touchend mouseup.xdsoft_scroller\",n).off(\"mousemove.xdsoft_scroller\",p).removeClass(\"xdsoft_noselect\")}),e(document.body).on(\"mousemove.xdsoft_scroller\",p)):(h=!0,a.stopPropagation(),a.preventDefault())}).on(\"touchmove\",function(e){h&&(e.preventDefault(),p(e))}).on(\"touchend touchcancel\",function(){h=!1,g=0}),s.on(\"scroll_element.xdsoft_scroller\",function(e,t){r||s.trigger(\"resize_scroll.xdsoft_scroller\",[t,!0]),t=t>1?1:0>t||isNaN(t)?0:t,i.css(\"margin-top\",u*t),setTimeout(function(){a.css(\"marginTop\",-parseInt((a[0].offsetHeight-r)*t,10))},10)}).on(\"resize_scroll.xdsoft_scroller\",function(e,t,d){var l,f;r=s[0].clientHeight,n=a[0].offsetHeight,l=r/n,f=l*o[0].offsetHeight,l>1?i.hide():(i.show(),i.css(\"height\",parseInt(f>10?f:10,10)),u=o[0].offsetHeight-i[0].offsetHeight,d!==!0&&s.trigger(\"scroll_element.xdsoft_scroller\",[t||Math.abs(parseInt(a.css(\"marginTop\"),10))/(n-r)]))}),s.on(\"mousewheel\",function(e){var t=Math.abs(parseInt(a.css(\"marginTop\"),10));return t-=20*e.deltaY,0>t&&(t=0),s.trigger(\"scroll_element.xdsoft_scroller\",[t/(n-r)]),e.stopPropagation(),!1}),s.on(\"touchstart\",function(e){l=d(e),c=Math.abs(parseInt(a.css(\"marginTop\"),10))}),s.on(\"touchmove\",function(e){if(l){e.preventDefault();var t=d(e);s.trigger(\"scroll_element.xdsoft_scroller\",[(c-(t.y-l.y))/(n-r)])}}),s.on(\"touchend touchcancel\",function(){l=!1,c=0})),void s.trigger(\"resize_scroll.xdsoft_scroller\",[t]))})},e.fn.datetimepicker=function(n,i){var s,d,u=this,l=48,f=57,c=96,m=105,h=17,g=46,p=13,y=27,v=8,b=37,D=38,k=39,x=40,T=9,S=116,w=65,O=67,M=86,_=90,W=89,F=!1,C=e.isPlainObject(n)||!n?e.extend(!0,{},a,n):e.extend(!0,{},a),P=0,A=function(e){e.on(\"open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart\",function t(){e.is(\":disabled\")||e.data(\"xdsoft_datetimepicker\")||(clearTimeout(P),P=setTimeout(function(){e.data(\"xdsoft_datetimepicker\")||s(e),e.off(\"open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart\",t).trigger(\"open.xdsoft\")},100))})};return s=function(a){function i(){var e,t=!1;return C.startDate?t=j.strToDate(C.startDate):(t=C.value||(a&&a.val&&a.val()?a.val():\"\"),t?t=j.strToDateTime(t):C.defaultDate&&(t=j.strToDateTime(C.defaultDate),C.defaultTime&&(e=j.strtotime(C.defaultTime),t.setHours(e.getHours()),t.setMinutes(e.getMinutes())))),t&&j.isValidDate(t)?J.data(\"changed\",!0):t=\"\",t||0}function s(t){var r=function(e,t){var a=e.replace(/([\\[\\]\\/\\{\\}\\(\\)\\-\\.\\+]{1})/g,\"\\\\$1\").replace(/_/g,\"{digit+}\").replace(/([0-9]{1})/g,\"{digit$1}\").replace(/\\{digit([0-9]{1})\\}/g,\"[0-$1_]{1}\").replace(/\\{digit[\\+]\\}/g,\"[0-9_]{1}\");return new RegExp(a).test(t)},n=function(e){try{if(document.selection&&document.selection.createRange){var t=document.selection.createRange();return t.getBookmark().charCodeAt(2)-2}if(e.setSelectionRange)return e.selectionStart}catch(a){return 0}},o=function(e,t){if(e=\"string\"==typeof e||e instanceof String?document.getElementById(e):e,!e)return!1;if(e.createTextRange){var a=e.createTextRange();return a.collapse(!0),a.moveEnd(\"character\",t),a.moveStart(\"character\",t),a.select(),!0}return e.setSelectionRange?(e.setSelectionRange(t,t),!0):!1};t.mask&&a.off(\"keydown.xdsoft\"),t.mask===!0&&(t.mask=\"undefined\"!=typeof moment?t.format.replace(/Y{4}/g,\"9999\").replace(/Y{2}/g,\"99\").replace(/M{2}/g,\"19\").replace(/D{2}/g,\"39\").replace(/H{2}/g,\"29\").replace(/m{2}/g,\"59\").replace(/s{2}/g,\"59\"):t.format.replace(/Y/g,\"9999\").replace(/F/g,\"9999\").replace(/m/g,\"19\").replace(/d/g,\"39\").replace(/H/g,\"29\").replace(/i/g,\"59\").replace(/s/g,\"59\")),\"string\"===e.type(t.mask)&&(r(t.mask,a.val())||(a.val(t.mask.replace(/[0-9]/g,\"_\")),o(a[0],0)),a.on(\"keydown.xdsoft\",function(i){var s,d,u=this.value,C=i.which;if(C>=l&&f>=C||C>=c&&m>=C||C===v||C===g){for(s=n(this),d=C!==v&&C!==g?String.fromCharCode(C>=c&&m>=C?C-l:C):\"_\",C!==v&&C!==g||!s||(s-=1,d=\"_\");/[^0-9_]/.test(t.mask.substr(s,1))&&s0;)s+=C===v||C===g?-1:1;if(u=u.substr(0,s)+d+u.substr(s+1),\"\"===e.trim(u))u=t.mask.replace(/[0-9]/g,\"_\");else if(s===t.mask.length)return i.preventDefault(),!1;for(s+=C===v||C===g?0:1;/[^0-9_]/.test(t.mask.substr(s,1))&&s0;)s+=C===v||C===g?-1:1;r(t.mask,u)?(this.value=u,o(this,s)):\"\"===e.trim(u)?this.value=t.mask.replace(/[0-9]/g,\"_\"):a.trigger(\"error_input.xdsoft\")}else if(-1!==[w,O,M,_,W].indexOf(C)&&F||-1!==[y,D,x,b,k,S,h,T,p].indexOf(C))return!0;return i.preventDefault(),!1}))}var d,u,P,A,Y,j,H,J=e('
'),z=e(''),I=e('
'),N=e('
'),L=e('
'),E=e('
'),R=E.find(\".xdsoft_time_box\").eq(0),B=e('
'),V=e(''),G=e('
'),U=e('
'),q=!1,X=0;C.id&&J.attr(\"id\",C.id),C.style&&J.attr(\"style\",C.style),C.weeks&&J.addClass(\"xdsoft_showweeks\"),C.rtl&&J.addClass(\"xdsoft_rtl\"),J.addClass(\"xdsoft_\"+C.theme),J.addClass(C.className),N.find(\".xdsoft_month span\").after(G),N.find(\".xdsoft_year span\").after(U),N.find(\".xdsoft_month,.xdsoft_year\").on(\"touchstart mousedown.xdsoft\",function(t){var a,r,n=e(this).find(\".xdsoft_select\").eq(0),o=0,i=0,s=n.is(\":visible\");for(N.find(\".xdsoft_select\").hide(),j.currentTime&&(o=j.currentTime[e(this).hasClass(\"xdsoft_month\")?\"getMonth\":\"getFullYear\"]()),n[s?\"hide\":\"show\"](),a=n.find(\"div.xdsoft_option\"),r=0;r=i;)u=new t(i,d,c),l=r.formatDate(i,C.formatDate),i.setDate(i.getDate()+1),void 0!==o[l]?(f=o[l].desc,f&&f.length&&u.desc&&u.desc.length&&(o[l].desc=f+\"\\n\"+u.desc)):o[l]=u}),C.highlightedDates=e.extend(!0,[],o)),n.disabledDates&&e.isArray(n.disabledDates)&&n.disabledDates.length&&(C.disabledDates=e.extend(!0,[],n.disabledDates)),n.disabledWeekDays&&e.isArray(n.disabledWeekDays)&&n.disabledWeekDays.length&&(C.disabledWeekDays=e.extend(!0,[],n.disabledWeekDays)),!C.open&&!C.opened||C.inline||a.trigger(\"open.xdsoft\"),C.inline&&(q=!0,J.addClass(\"xdsoft_inline\"),a.after(J).hide()),C.inverseButton&&(C.next=\"xdsoft_prev\",C.prev=\"xdsoft_next\"),C.datepicker?I.addClass(\"active\"):I.removeClass(\"active\"),C.timepicker?E.addClass(\"active\"):E.removeClass(\"active\"),C.value&&(j.setCurrentTime(C.value),a&&a.val&&a.val(j.str)),C.dayOfWeekStart=isNaN(C.dayOfWeekStart)?0:parseInt(C.dayOfWeekStart,10)%7,C.timepickerScrollbar||R.xdsoftScroller(\"hide\"),C.minDate&&/^[\\+\\-](.*)$/.test(C.minDate)&&(C.minDate=r.formatDate(j.strToDateTime(C.minDate),C.formatDate)),C.maxDate&&/^[\\+\\-](.*)$/.test(C.maxDate)&&(C.maxDate=r.formatDate(j.strToDateTime(C.maxDate),C.formatDate)),V.toggle(C.showApplyButton),N.find(\".xdsoft_today_button\").css(\"visibility\",C.todayButton?\"visible\":\"hidden\"),N.find(\".\"+C.prev).css(\"visibility\",C.prevButton?\"visible\":\"hidden\"),N.find(\".\"+C.next).css(\"visibility\",C.nextButton?\"visible\":\"hidden\"),s(C),C.validateOnBlur&&a.off(\"blur.xdsoft\").on(\"blur.xdsoft\",function(){if(C.allowBlank&&(!e.trim(e(this).val()).length||\"string\"==typeof C.mask&&e.trim(e(this).val())===C.mask.replace(/[0-9]/g,\"_\")))e(this).val(null),J.data(\"xdsoft_datetime\").empty();else{var t=r.parseDate(e(this).val(),C.format);if(t)e(this).val(r.formatDate(t,C.format));else{var a=+[e(this).val()[0],e(this).val()[1]].join(\"\"),n=+[e(this).val()[2],e(this).val()[3]].join(\"\");e(this).val(!C.datepicker&&C.timepicker&&a>=0&&24>a&&n>=0&&60>n?[a,n].map(function(e){return e>9?e:\"0\"+e}).join(\":\"):r.formatDate(j.now(),C.format))}J.data(\"xdsoft_datetime\").setCurrentTime(e(this).val())}J.trigger(\"changedatetime.xdsoft\"),J.trigger(\"close.xdsoft\")}),C.dayOfWeekStartPrev=0===C.dayOfWeekStart?6:C.dayOfWeekStart-1,J.trigger(\"xchange.xdsoft\").trigger(\"afterOpen.xdsoft\")},J.data(\"options\",C).on(\"touchstart mousedown.xdsoft\",function(e){return e.stopPropagation(),e.preventDefault(),U.hide(),G.hide(),!1}),R.append(B),R.xdsoftScroller(),J.on(\"afterOpen.xdsoft\",function(){R.xdsoftScroller()}),J.append(I).append(E),C.withoutCopyright!==!0&&J.append(z),I.append(N).append(L).append(V),e(C.parentID).append(J),d=function(){var t=this;t.now=function(e){var a,r,n=new Date;return!e&&C.defaultDate&&(a=t.strToDateTime(C.defaultDate),n.setFullYear(a.getFullYear()),n.setMonth(a.getMonth()),n.setDate(a.getDate())),C.yearOffset&&n.setFullYear(n.getFullYear()+C.yearOffset),!e&&C.defaultTime&&(r=t.strtotime(C.defaultTime),n.setHours(r.getHours()),n.setMinutes(r.getMinutes())),n},t.isValidDate=function(e){return\"[object Date]\"!==Object.prototype.toString.call(e)?!1:!isNaN(e.getTime())},t.setCurrentTime=function(e,a){t.currentTime=\"string\"==typeof e?t.strToDateTime(e):t.isValidDate(e)?e:e||a||!C.allowBlank?t.now():null,J.trigger(\"xchange.xdsoft\")},t.empty=function(){t.currentTime=null},t.getCurrentTime=function(){return t.currentTime},t.nextMonth=function(){(void 0===t.currentTime||null===t.currentTime)&&(t.currentTime=t.now());var a,r=t.currentTime.getMonth()+1;return 12===r&&(t.currentTime.setFullYear(t.currentTime.getFullYear()+1),r=0),a=t.currentTime.getFullYear(),t.currentTime.setDate(Math.min(new Date(t.currentTime.getFullYear(),r+1,0).getDate(),t.currentTime.getDate())),t.currentTime.setMonth(r),C.onChangeMonth&&e.isFunction(C.onChangeMonth)&&C.onChangeMonth.call(J,j.currentTime,J.data(\"input\")),a!==t.currentTime.getFullYear()&&e.isFunction(C.onChangeYear)&&C.onChangeYear.call(J,j.currentTime,J.data(\"input\")),J.trigger(\"xchange.xdsoft\"),r},t.prevMonth=function(){(void 0===t.currentTime||null===t.currentTime)&&(t.currentTime=t.now());var a=t.currentTime.getMonth()-1;return-1===a&&(t.currentTime.setFullYear(t.currentTime.getFullYear()-1),a=11),t.currentTime.setDate(Math.min(new Date(t.currentTime.getFullYear(),a+1,0).getDate(),t.currentTime.getDate())),t.currentTime.setMonth(a),C.onChangeMonth&&e.isFunction(C.onChangeMonth)&&C.onChangeMonth.call(J,j.currentTime,J.data(\"input\")),J.trigger(\"xchange.xdsoft\"),a},t.getWeekOfYear=function(t){if(C.onGetWeekOfYear&&e.isFunction(C.onGetWeekOfYear)){var a=C.onGetWeekOfYear.call(J,t);if(\"undefined\"!=typeof a)return a}var r=new Date(t.getFullYear(),0,1);return 4!=r.getDay()&&r.setMonth(0,1+(4-r.getDay()+7)%7),Math.ceil(((t-r)/864e5+r.getDay()+1)/7)},t.strToDateTime=function(e){var a,n,o=[];return e&&e instanceof Date&&t.isValidDate(e)?e:(o=/^(\\+|\\-)(.*)$/.exec(e),o&&(o[2]=r.parseDate(o[2],C.formatDate)),o&&o[2]?(a=o[2].getTime()-6e4*o[2].getTimezoneOffset(),n=new Date(t.now(!0).getTime()+parseInt(o[1]+\"1\",10)*a)):n=e?r.parseDate(e,C.format):t.now(),t.isValidDate(n)||(n=t.now()),n)},t.strToDate=function(e){if(e&&e instanceof Date&&t.isValidDate(e))return e;var a=e?r.parseDate(e,C.formatDate):t.now(!0);return t.isValidDate(a)||(a=t.now(!0)),a},t.strtotime=function(e){if(e&&e instanceof Date&&t.isValidDate(e))return e;var a=e?r.parseDate(e,C.formatTime):t.now(!0);return t.isValidDate(a)||(a=t.now(!0)),a},t.str=function(){return r.formatDate(t.currentTime,C.format)},t.currentTime=this.now()},j=new d,V.on(\"touchend click\",function(e){e.preventDefault(),J.data(\"changed\",!0),j.setCurrentTime(i()),a.val(j.str()),J.trigger(\"close.xdsoft\")}),N.find(\".xdsoft_today_button\").on(\"touchend mousedown.xdsoft\",function(){J.data(\"changed\",!0),j.setCurrentTime(0,!0),J.trigger(\"afterOpen.xdsoft\")}).on(\"dblclick.xdsoft\",function(){var e,t,r=j.getCurrentTime();r=new Date(r.getFullYear(),r.getMonth(),r.getDate()),e=j.strToDate(C.minDate),e=new Date(e.getFullYear(),e.getMonth(),e.getDate()),e>r||(t=j.strToDate(C.maxDate),t=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r>t||(a.val(j.str()),a.trigger(\"change\"),J.trigger(\"close.xdsoft\")))}),N.find(\".xdsoft_prev,.xdsoft_next\").on(\"touchend mousedown.xdsoft\",function(){var t=e(this),a=0,r=!1;!function n(e){t.hasClass(C.next)?j.nextMonth():t.hasClass(C.prev)&&j.prevMonth(),C.monthChangeSpinner&&(r||(a=setTimeout(n,e||100)))}(500),e([document.body,window]).on(\"touchend mouseup.xdsoft\",function o(){clearTimeout(a),r=!0,e([document.body,window]).off(\"touchend mouseup.xdsoft\",o)})}),E.find(\".xdsoft_prev,.xdsoft_next\").on(\"touchend mousedown.xdsoft\",function(){var t=e(this),a=0,r=!1,n=110;!function o(e){var i=R[0].clientHeight,s=B[0].offsetHeight,d=Math.abs(parseInt(B.css(\"marginTop\"),10));t.hasClass(C.next)&&s-i-C.timeHeightInTimePicker>=d?B.css(\"marginTop\",\"-\"+(d+C.timeHeightInTimePicker)+\"px\"):t.hasClass(C.prev)&&d-C.timeHeightInTimePicker>=0&&B.css(\"marginTop\",\"-\"+(d-C.timeHeightInTimePicker)+\"px\"),R.trigger(\"scroll_element.xdsoft_scroller\",[Math.abs(parseInt(B[0].style.marginTop,10)/(s-i))]),n=n>10?10:n-10,r||(a=setTimeout(o,e||n))}(500),e([document.body,window]).on(\"touchend mouseup.xdsoft\",function i(){clearTimeout(a),r=!0,e([document.body,window]).off(\"touchend mouseup.xdsoft\",i)})}),u=0,J.on(\"xchange.xdsoft\",function(t){clearTimeout(u),u=setTimeout(function(){if(void 0===j.currentTime||null===j.currentTime){if(C.allowBlank)return;j.currentTime=j.now()}for(var t,i,s,d,u,l,f,c,m,h,g=\"\",p=new Date(j.currentTime.getFullYear(),j.currentTime.getMonth(),1,12,0,0),y=0,v=j.now(),b=!1,D=!1,k=[],x=!0,T=\"\",S=\"\";p.getDay()!==C.dayOfWeekStart;)p.setDate(p.getDate()-1);for(g+=\"\",C.weeks&&(g+=\"\"),t=0;7>t;t+=1)g+=\"\";for(g+=\"\",g+=\"\",C.maxDate!==!1&&(b=j.strToDate(C.maxDate),b=new Date(b.getFullYear(),b.getMonth(),b.getDate(),23,59,59,999)),C.minDate!==!1&&(D=j.strToDate(C.minDate),D=new Date(D.getFullYear(),D.getMonth(),D.getDate()));y0?-1===C.allowDates.indexOf(r.formatDate(p,C.formatDate))&&k.push(\"xdsoft_disabled\"):b!==!1&&p>b||D!==!1&&D>p||c&&c[0]===!1?k.push(\"xdsoft_disabled\"):-1!==C.disabledDates.indexOf(r.formatDate(p,C.formatDate))?k.push(\"xdsoft_disabled\"):-1!==C.disabledWeekDays.indexOf(s)?k.push(\"xdsoft_disabled\"):a.is(\"[readonly]\")&&k.push(\"xdsoft_disabled\"),c&&\"\"!==c[1]&&k.push(c[1]),j.currentTime.getMonth()!==l&&k.push(\"xdsoft_other_month\"),(C.defaultSelect||J.data(\"changed\"))&&r.formatDate(j.currentTime,C.formatDate)===r.formatDate(p,C.formatDate)&&k.push(\"xdsoft_current\"),r.formatDate(v,C.formatDate)===r.formatDate(p,C.formatDate)&&k.push(\"xdsoft_today\"),(0===p.getDay()||6===p.getDay()||-1!==C.weekends.indexOf(r.formatDate(p,C.formatDate)))&&k.push(\"xdsoft_weekend\"),void 0!==C.highlightedDates[r.formatDate(p,C.formatDate)]&&(i=C.highlightedDates[r.formatDate(p,C.formatDate)],k.push(void 0===i.style?\"xdsoft_highlighted_default\":i.style),h=void 0===i.desc?\"\":i.desc),C.beforeShowDay&&e.isFunction(C.beforeShowDay)&&k.push(C.beforeShowDay(p)),x&&(g+=\"\",x=!1,C.weeks&&(g+=\"\")),g+='\",p.getDay()===C.dayOfWeekStartPrev&&(g+=\"\",x=!0),p.setDate(d+1);if(g+=\"
\"+C.i18n[o].dayOfWeekShort[(t+C.dayOfWeekStart)%7]+\"
\"+f+\"
'+d+\"
\",L.html(g),N.find(\".xdsoft_label span\").eq(0).text(C.i18n[o].months[j.currentTime.getMonth()]),N.find(\".xdsoft_label span\").eq(1).text(j.currentTime.getFullYear()),T=\"\",S=\"\",l=\"\",m=function(t,n){var o,i,s=j.now(),d=C.allowTimes&&e.isArray(C.allowTimes)&&C.allowTimes.length;s.setHours(t),t=parseInt(s.getHours(),10),s.setMinutes(n),n=parseInt(s.getMinutes(),10),o=new Date(j.currentTime),o.setHours(t),o.setMinutes(n),k=[],C.minDateTime!==!1&&C.minDateTime>o||C.maxTime!==!1&&j.strtotime(C.maxTime).getTime()s.getTime()?k.push(\"xdsoft_disabled\"):C.minDateTime!==!1&&C.minDateTime>o||C.disabledMinTime!==!1&&s.getTime()>j.strtotime(C.disabledMinTime).getTime()&&C.disabledMaxTime!==!1&&s.getTime()59||i.getMinutes()===parseInt(n,10))&&(C.defaultSelect||J.data(\"changed\")?k.push(\"xdsoft_current\"):C.initTime&&k.push(\"xdsoft_init_time\")),parseInt(v.getHours(),10)===parseInt(t,10)&&parseInt(v.getMinutes(),10)===parseInt(n,10)&&k.push(\"xdsoft_today\"),T+='
'+r.formatDate(s,C.formatTime)+\"
\"},C.allowTimes&&e.isArray(C.allowTimes)&&C.allowTimes.length)for(y=0;yt;t+=C.step)S=(10>y?\"0\":\"\")+y,l=(10>t?\"0\":\"\")+t,m(S,l);for(B.html(T),n=\"\",y=0,y=parseInt(C.yearStart,10)+C.yearOffset;y<=parseInt(C.yearEnd,10)+C.yearOffset;y+=1)n+='
'+y+\"
\";for(U.children().eq(0).html(n),y=parseInt(C.monthStart,10),n=\"\";y<=parseInt(C.monthEnd,10);y+=1)n+='
'+C.i18n[o].months[y]+\"
\";G.children().eq(0).html(n),e(J).trigger(\"generate.xdsoft\")},10),t.stopPropagation()}).on(\"afterOpen.xdsoft\",function(){if(C.timepicker){var e,t,a,r;B.find(\".xdsoft_current\").length?e=\".xdsoft_current\":B.find(\".xdsoft_init_time\").length&&(e=\".xdsoft_init_time\"),e?(t=R[0].clientHeight,a=B[0].offsetHeight,r=B.find(e).index()*C.timeHeightInTimePicker+1,r>a-t&&(r=a-t),R.trigger(\"scroll_element.xdsoft_scroller\",[parseInt(r,10)/(a-t)])):R.trigger(\"scroll_element.xdsoft_scroller\",[0])}}),P=0,L.on(\"touchend click.xdsoft\",\"td\",function(t){t.stopPropagation(),P+=1;var r=e(this),n=j.currentTime;return(void 0===n||null===n)&&(j.currentTime=j.now(),n=j.currentTime),r.hasClass(\"xdsoft_disabled\")?!1:(n.setDate(1),n.setFullYear(r.data(\"year\")),n.setMonth(r.data(\"month\")),n.setDate(r.data(\"date\")),J.trigger(\"select.xdsoft\",[n]),a.val(j.str()),C.onSelectDate&&e.isFunction(C.onSelectDate)&&C.onSelectDate.call(J,j.currentTime,J.data(\"input\"),t),J.data(\"changed\",!0),J.trigger(\"xchange.xdsoft\"),J.trigger(\"changedatetime.xdsoft\"),(P>1||C.closeOnDateSelect===!0||C.closeOnDateSelect===!1&&!C.timepicker)&&!C.inline&&J.trigger(\"close.xdsoft\"),void setTimeout(function(){P=0},200))}),B.on(\"touchend click.xdsoft\",\"div\",function(t){t.stopPropagation();var a=e(this),r=j.currentTime;return(void 0===r||null===r)&&(j.currentTime=j.now(),r=j.currentTime),a.hasClass(\"xdsoft_disabled\")?!1:(r.setHours(a.data(\"hour\")),r.setMinutes(a.data(\"minute\")),J.trigger(\"select.xdsoft\",[r]),J.data(\"input\").val(j.str()),C.onSelectTime&&e.isFunction(C.onSelectTime)&&C.onSelectTime.call(J,j.currentTime,J.data(\"input\"),t),J.data(\"changed\",!0),J.trigger(\"xchange.xdsoft\"),J.trigger(\"changedatetime.xdsoft\"),void(C.inline!==!0&&C.closeOnTimeSelect===!0&&J.trigger(\"close.xdsoft\")))}),I.on(\"mousewheel.xdsoft\",function(e){return C.scrollMonth?(e.deltaY<0?j.nextMonth():j.prevMonth(),!1):!0}),a.on(\"mousewheel.xdsoft\",function(e){return C.scrollInput?!C.datepicker&&C.timepicker?(A=B.find(\".xdsoft_current\").length?B.find(\".xdsoft_current\").eq(0).index():0,A+e.deltaY>=0&&A+e.deltaYc+m?(l=\"bottom\",r=c+m-t.top):r-=m):r+a.offsetHeight>c+m&&(r=t.top-a.offsetHeight+1),0>r&&(r=0),n+a.offsetWidth>u&&(n=u-a.offsetWidth)),i=J[0],H(i,function(e){var t;return t=window.getComputedStyle(e).getPropertyValue(\"position\"),\"relative\"===t&&u>=e.offsetWidth?(n-=(u-e.offsetWidth)/2,!1):void 0}),f={position:o,left:n,top:\"\",bottom:\"\"},f[l]=r,J.css(f)},J.on(\"open.xdsoft\",function(t){var a=!0;C.onShow&&e.isFunction(C.onShow)&&(a=C.onShow.call(J,j.currentTime,J.data(\"input\"),t)),a!==!1&&(J.show(),Y(),e(window).off(\"resize.xdsoft\",Y).on(\"resize.xdsoft\",Y),C.closeOnWithoutClick&&e([document.body,window]).on(\"touchstart mousedown.xdsoft\",function r(){J.trigger(\"close.xdsoft\"),e([document.body,window]).off(\"touchstart mousedown.xdsoft\",r)}))}).on(\"close.xdsoft\",function(t){var a=!0;N.find(\".xdsoft_month,.xdsoft_year\").find(\".xdsoft_select\").hide(),C.onClose&&e.isFunction(C.onClose)&&(a=C.onClose.call(J,j.currentTime,J.data(\"input\"),t)),a===!1||C.opened||C.inline||J.hide(),t.stopPropagation()}).on(\"toggle.xdsoft\",function(){J.trigger(J.is(\":visible\")?\"close.xdsoft\":\"open.xdsoft\")}).data(\"input\",a),X=0,J.data(\"xdsoft_datetime\",j),J.setOptions(C),j.setCurrentTime(i()),a.data(\"xdsoft_datetimepicker\",J).on(\"open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart\",function(){a.is(\":disabled\")||a.data(\"xdsoft_datetimepicker\").is(\":visible\")&&C.closeOnInputClick||(clearTimeout(X),X=setTimeout(function(){a.is(\":disabled\")||(q=!0,j.setCurrentTime(i(),!0),C.mask&&s(C),J.trigger(\"open.xdsoft\"))},100))}).on(\"keydown.xdsoft\",function(t){var a,r=t.which;return-1!==[p].indexOf(r)&&C.enterLikeTab?(a=e(\"input:visible,textarea:visible,button:visible,a:visible\"),J.trigger(\"close.xdsoft\"),a.eq(a.index(this)+1).focus(),!1):-1!==[T].indexOf(r)?(J.trigger(\"close.xdsoft\"),!0):void 0}).on(\"blur.xdsoft\",function(){J.trigger(\"close.xdsoft\")})},d=function(t){var a=t.data(\"xdsoft_datetimepicker\");a&&(a.data(\"xdsoft_datetime\",null),a.remove(),t.data(\"xdsoft_datetimepicker\",null).off(\".xdsoft\"),e(window).off(\"resize.xdsoft\"),e([window,document.body]).off(\"mousedown.xdsoft touchstart\"),t.unmousewheel&&t.unmousewheel())},e(document).off(\"keydown.xdsoftctrl keyup.xdsoftctrl\").on(\"keydown.xdsoftctrl\",function(e){e.keyCode===h&&(F=!0)}).on(\"keyup.xdsoftctrl\",function(e){e.keyCode===h&&(F=!1)}),this.each(function(){var t,a=e(this).data(\"xdsoft_datetimepicker\");if(a){if(\"string\"===e.type(n))switch(n){case\"show\":e(this).select().focus(),a.trigger(\"open.xdsoft\");break;case\"hide\":a.trigger(\"close.xdsoft\");break;case\"toggle\":a.trigger(\"toggle.xdsoft\");break;case\"destroy\":d(e(this));break;case\"reset\":this.value=this.defaultValue,this.value&&a.data(\"xdsoft_datetime\").isValidDate(r.parseDate(this.value,C.format))||a.data(\"changed\",!1),a.data(\"xdsoft_datetime\").setCurrentTime(this.value);break;case\"validate\":t=a.data(\"input\"),t.trigger(\"blur.xdsoft\");break;default:a[n]&&e.isFunction(a[n])&&(u=a[n](i))}else a.setOptions(n);return 0}\"string\"!==e.type(n)&&(!C.lazyInit||C.open||C.inline?s(e(this)):A(e(this)))}),u},e.fn.datetimepicker.defaults=a}),function(e){\"function\"==typeof define&&define.amd?define([\"jquery\"],e):\"object\"==typeof exports?module.exports=e:e(jQuery)}(function(e){function t(t){var i=t||window.event,s=d.call(arguments,1),u=0,f=0,c=0,m=0,h=0,g=0;if(t=e.event.fix(i),t.type=\"mousewheel\",\"detail\"in i&&(c=-1*i.detail),\"wheelDelta\"in i&&(c=i.wheelDelta),\"wheelDeltaY\"in i&&(c=i.wheelDeltaY),\"wheelDeltaX\"in i&&(f=-1*i.wheelDeltaX),\"axis\"in i&&i.axis===i.HORIZONTAL_AXIS&&(f=-1*c,c=0),u=0===c?f:c,\"deltaY\"in i&&(c=-1*i.deltaY,u=c),\"deltaX\"in i&&(f=i.deltaX,0===c&&(u=-1*f)),0!==c||0!==f){if(1===i.deltaMode){var p=e.data(this,\"mousewheel-line-height\");u*=p,c*=p,f*=p}else if(2===i.deltaMode){var y=e.data(this,\"mousewheel-page-height\");u*=y,c*=y,f*=y}if(m=Math.max(Math.abs(c),Math.abs(f)),(!o||o>m)&&(o=m,r(i,m)&&(o/=40)),r(i,m)&&(u/=40,f/=40,c/=40),u=Math[u>=1?\"floor\":\"ceil\"](u/o),f=Math[f>=1?\"floor\":\"ceil\"](f/o),c=Math[c>=1?\"floor\":\"ceil\"](c/o),l.settings.normalizeOffset&&this.getBoundingClientRect){var v=this.getBoundingClientRect();h=t.clientX-v.left,g=t.clientY-v.top}return t.deltaX=f,t.deltaY=c,t.deltaFactor=o,t.offsetX=h,t.offsetY=g,t.deltaMode=0,s.unshift(t,u,f,c),n&&clearTimeout(n),n=setTimeout(a,200),(e.event.dispatch||e.event.handle).apply(this,s)}}function a(){o=null}function r(e,t){return l.settings.adjustOldDeltas&&\"mousewheel\"===e.type&&t%120===0}var n,o,i=[\"wheel\",\"mousewheel\",\"DOMMouseScroll\",\"MozMousePixelScroll\"],s=\"onwheel\"in document||document.documentMode>=9?[\"wheel\"]:[\"mousewheel\",\"DomMouseScroll\",\"MozMousePixelScroll\"],d=Array.prototype.slice;if(e.event.fixHooks)for(var u=i.length;u;)e.event.fixHooks[i[--u]]=e.event.mouseHooks;var l=e.event.special.mousewheel={version:\"3.1.12\",setup:function(){if(this.addEventListener)for(var a=s.length;a;)this.addEventListener(s[--a],t,!1);else this.onmousewheel=t;e.data(this,\"mousewheel-line-height\",l.getLineHeight(this)),e.data(this,\"mousewheel-page-height\",l.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var a=s.length;a;)this.removeEventListener(s[--a],t,!1);else this.onmousewheel=null;e.removeData(this,\"mousewheel-line-height\"),e.removeData(this,\"mousewheel-page-height\")},getLineHeight:function(t){var a=e(t),r=a[\"offsetParent\"in e.fn?\"offsetParent\":\"parent\"]();return r.length||(r=e(\"body\")),parseInt(r.css(\"fontSize\"),10)||parseInt(a.css(\"fontSize\"),10)||16},getPageHeight:function(t){return e(t).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};e.fn.extend({mousewheel:function(e){return e?this.bind(\"mousewheel\",e):this.trigger(\"mousewheel\")},unmousewheel:function(e){return this.unbind(\"mousewheel\",e)}})});","module.exports = require(\"github:xdan/datetimepicker@2.5.4/build/jquery.datetimepicker.full.min.js\");","define([\"jquery\", \"knockout\", \"datetimepicker\", \"datetimepicker/build/jquery.datetimepicker.min.css!\"],\r\n function($, ko) {\r\n ko.bindingHandlers.datetimepicker = {\r\n init: function(element, valueAccessor, allBindingsAccessor) {\r\n $.datetimepicker.setLocale(\"ru\");\r\n\r\n var options = allBindingsAccessor().datetimepickerOptions || {},\r\n $el = $(element);\r\n\r\n options.allowBlank = true;\r\n options.dayOfWeekStart = 1;\r\n options.onChangeDateTime = function() {\r\n var observable = valueAccessor();\r\n observable($el.datetimepicker(\"getValue\"));\r\n };\r\n\r\n $el.datetimepicker(options);\r\n\r\n //handle disposal (if KO removes by the template binding)\r\n ko.utils.domNodeDisposal.addDisposeCallback(element,\r\n function() {\r\n $el.datetimepicker(\"destroy\");\r\n });\r\n\r\n },\r\n update: function(element, valueAccessor) {\r\n var value = ko.utils.unwrapObservable(valueAccessor()),\r\n $el = $(element);\r\n\r\n if (!value) {\r\n $el.val(null);\r\n return;\r\n }\r\n\r\n //handle date data coming via json from Microsoft\r\n if (String(value).indexOf(\"/Date(\") == 0) {\r\n value = new Date(parseInt(value.replace(/\\/Date\\((.*?)\\)\\//gi, \"$1\")));\r\n }\r\n // Если дата пришла в виде строки\r\n if (!(value instanceof Date)) {\r\n value = new Date(value);\r\n }\r\n\r\n var current = $el.datetimepicker(\"getValue\");\r\n\r\n if (value - current !== 0) {\r\n $el.datetimepicker({ value: value });\r\n }\r\n }\r\n };\r\n });","/* */ \n\"format global\";\n\"deps ./chosen.css!\";\n\"deps jquery\";\n/*!\nChosen, a Select Box Enhancer for jQuery and Prototype\nby Patrick Filler for Harvest, http://getharvest.com\n\nVersion 1.6.2\nFull source at https://github.com/harvesthq/chosen\nCopyright (c) 2011-2016 Harvest http://getharvest.com\n\nMIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md\nThis file is generated by `grunt build`, do not edit it by hand.\n*/\n\n(function() {\n var $, AbstractChosen, Chosen, SelectParser, _ref,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };\n\n SelectParser = (function() {\n function SelectParser() {\n this.options_index = 0;\n this.parsed = [];\n }\n\n SelectParser.prototype.add_node = function(child) {\n if (child.nodeName.toUpperCase() === \"OPTGROUP\") {\n return this.add_group(child);\n } else {\n return this.add_option(child);\n }\n };\n\n SelectParser.prototype.add_group = function(group) {\n var group_position, option, _i, _len, _ref, _results;\n group_position = this.parsed.length;\n this.parsed.push({\n array_index: group_position,\n group: true,\n label: this.escapeExpression(group.label),\n title: group.title ? group.title : void 0,\n children: 0,\n disabled: group.disabled,\n classes: group.className\n });\n _ref = group.childNodes;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n option = _ref[_i];\n _results.push(this.add_option(option, group_position, group.disabled));\n }\n return _results;\n };\n\n SelectParser.prototype.add_option = function(option, group_position, group_disabled) {\n if (option.nodeName.toUpperCase() === \"OPTION\") {\n if (option.text !== \"\") {\n if (group_position != null) {\n this.parsed[group_position].children += 1;\n }\n this.parsed.push({\n array_index: this.parsed.length,\n options_index: this.options_index,\n value: option.value,\n text: option.text,\n html: option.innerHTML,\n title: option.title ? option.title : void 0,\n selected: option.selected,\n disabled: group_disabled === true ? group_disabled : option.disabled,\n group_array_index: group_position,\n group_label: group_position != null ? this.parsed[group_position].label : null,\n classes: option.className,\n style: option.style.cssText\n });\n } else {\n this.parsed.push({\n array_index: this.parsed.length,\n options_index: this.options_index,\n empty: true\n });\n }\n return this.options_index += 1;\n }\n };\n\n SelectParser.prototype.escapeExpression = function(text) {\n var map, unsafe_chars;\n if ((text == null) || text === false) {\n return \"\";\n }\n if (!/[\\&\\<\\>\\\"\\'\\`]/.test(text)) {\n return text;\n }\n map = {\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\",\n \"`\": \"`\"\n };\n unsafe_chars = /&(?!\\w+;)|[\\<\\>\\\"\\'\\`]/g;\n return text.replace(unsafe_chars, function(chr) {\n return map[chr] || \"&\";\n });\n };\n\n return SelectParser;\n\n })();\n\n SelectParser.select_to_array = function(select) {\n var child, parser, _i, _len, _ref;\n parser = new SelectParser();\n _ref = select.childNodes;\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n child = _ref[_i];\n parser.add_node(child);\n }\n return parser.parsed;\n };\n\n AbstractChosen = (function() {\n function AbstractChosen(form_field, options) {\n this.form_field = form_field;\n this.options = options != null ? options : {};\n if (!AbstractChosen.browser_is_supported()) {\n return;\n }\n this.is_multiple = this.form_field.multiple;\n this.set_default_text();\n this.set_default_values();\n this.setup();\n this.set_up_html();\n this.register_observers();\n this.on_ready();\n }\n\n AbstractChosen.prototype.set_default_values = function() {\n var _this = this;\n this.click_test_action = function(evt) {\n return _this.test_active_click(evt);\n };\n this.activate_action = function(evt) {\n return _this.activate_field(evt);\n };\n this.active_field = false;\n this.mouse_on_container = false;\n this.results_showing = false;\n this.result_highlighted = null;\n this.allow_single_deselect = (this.options.allow_single_deselect != null) && (this.form_field.options[0] != null) && this.form_field.options[0].text === \"\" ? this.options.allow_single_deselect : false;\n this.disable_search_threshold = this.options.disable_search_threshold || 0;\n this.disable_search = this.options.disable_search || false;\n this.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true;\n this.group_search = this.options.group_search != null ? this.options.group_search : true;\n this.search_contains = this.options.search_contains || false;\n this.single_backstroke_delete = this.options.single_backstroke_delete != null ? this.options.single_backstroke_delete : true;\n this.max_selected_options = this.options.max_selected_options || Infinity;\n this.inherit_select_classes = this.options.inherit_select_classes || false;\n this.display_selected_options = this.options.display_selected_options != null ? this.options.display_selected_options : true;\n this.display_disabled_options = this.options.display_disabled_options != null ? this.options.display_disabled_options : true;\n this.include_group_label_in_selected = this.options.include_group_label_in_selected || false;\n this.max_shown_results = this.options.max_shown_results || Number.POSITIVE_INFINITY;\n return this.case_sensitive_search = this.options.case_sensitive_search || false;\n };\n\n AbstractChosen.prototype.set_default_text = function() {\n if (this.form_field.getAttribute(\"data-placeholder\")) {\n this.default_text = this.form_field.getAttribute(\"data-placeholder\");\n } else if (this.is_multiple) {\n this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text;\n } else {\n this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text;\n }\n return this.results_none_found = this.form_field.getAttribute(\"data-no_results_text\") || this.options.no_results_text || AbstractChosen.default_no_result_text;\n };\n\n AbstractChosen.prototype.choice_label = function(item) {\n if (this.include_group_label_in_selected && (item.group_label != null)) {\n return \"\" + item.group_label + \"\" + item.html;\n } else {\n return item.html;\n }\n };\n\n AbstractChosen.prototype.mouse_enter = function() {\n return this.mouse_on_container = true;\n };\n\n AbstractChosen.prototype.mouse_leave = function() {\n return this.mouse_on_container = false;\n };\n\n AbstractChosen.prototype.input_focus = function(evt) {\n var _this = this;\n if (this.is_multiple) {\n if (!this.active_field) {\n return setTimeout((function() {\n return _this.container_mousedown();\n }), 50);\n }\n } else {\n if (!this.active_field) {\n return this.activate_field();\n }\n }\n };\n\n AbstractChosen.prototype.input_blur = function(evt) {\n var _this = this;\n if (!this.mouse_on_container) {\n this.active_field = false;\n return setTimeout((function() {\n return _this.blur_test();\n }), 100);\n }\n };\n\n AbstractChosen.prototype.results_option_build = function(options) {\n var content, data, data_content, shown_results, _i, _len, _ref;\n content = '';\n shown_results = 0;\n _ref = this.results_data;\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n data = _ref[_i];\n data_content = '';\n if (data.group) {\n data_content = this.result_add_group(data);\n } else {\n data_content = this.result_add_option(data);\n }\n if (data_content !== '') {\n shown_results++;\n content += data_content;\n }\n if (options != null ? options.first : void 0) {\n if (data.selected && this.is_multiple) {\n this.choice_build(data);\n } else if (data.selected && !this.is_multiple) {\n this.single_set_selected_text(this.choice_label(data));\n }\n }\n if (shown_results >= this.max_shown_results) {\n break;\n }\n }\n return content;\n };\n\n AbstractChosen.prototype.result_add_option = function(option) {\n var classes, option_el;\n if (!option.search_match) {\n return '';\n }\n if (!this.include_option_in_results(option)) {\n return '';\n }\n classes = [];\n if (!option.disabled && !(option.selected && this.is_multiple)) {\n classes.push(\"active-result\");\n }\n if (option.disabled && !(option.selected && this.is_multiple)) {\n classes.push(\"disabled-result\");\n }\n if (option.selected) {\n classes.push(\"result-selected\");\n }\n if (option.group_array_index != null) {\n classes.push(\"group-option\");\n }\n if (option.classes !== \"\") {\n classes.push(option.classes);\n }\n option_el = document.createElement(\"li\");\n option_el.className = classes.join(\" \");\n option_el.style.cssText = option.style;\n option_el.setAttribute(\"data-option-array-index\", option.array_index);\n option_el.innerHTML = option.search_text;\n if (option.title) {\n option_el.title = option.title;\n }\n return this.outerHTML(option_el);\n };\n\n AbstractChosen.prototype.result_add_group = function(group) {\n var classes, group_el;\n if (!(group.search_match || group.group_match)) {\n return '';\n }\n if (!(group.active_options > 0)) {\n return '';\n }\n classes = [];\n classes.push(\"group-result\");\n if (group.classes) {\n classes.push(group.classes);\n }\n group_el = document.createElement(\"li\");\n group_el.className = classes.join(\" \");\n group_el.innerHTML = group.search_text;\n if (group.title) {\n group_el.title = group.title;\n }\n return this.outerHTML(group_el);\n };\n\n AbstractChosen.prototype.results_update_field = function() {\n this.set_default_text();\n if (!this.is_multiple) {\n this.results_reset_cleanup();\n }\n this.result_clear_highlight();\n this.results_build();\n if (this.results_showing) {\n return this.winnow_results();\n }\n };\n\n AbstractChosen.prototype.reset_single_select_options = function() {\n var result, _i, _len, _ref, _results;\n _ref = this.results_data;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n result = _ref[_i];\n if (result.selected) {\n _results.push(result.selected = false);\n } else {\n _results.push(void 0);\n }\n }\n return _results;\n };\n\n AbstractChosen.prototype.results_toggle = function() {\n if (this.results_showing) {\n return this.results_hide();\n } else {\n return this.results_show();\n }\n };\n\n AbstractChosen.prototype.results_search = function(evt) {\n if (this.results_showing) {\n return this.winnow_results();\n } else {\n return this.results_show();\n }\n };\n\n AbstractChosen.prototype.winnow_results = function() {\n var escapedSearchText, option, regex, results, results_group, searchText, startpos, text, zregex, _i, _len, _ref;\n this.no_results_clear();\n results = 0;\n searchText = this.get_search_text();\n escapedSearchText = searchText.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\");\n zregex = new RegExp(escapedSearchText, 'i');\n regex = this.get_search_regex(escapedSearchText);\n _ref = this.results_data;\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n option = _ref[_i];\n option.search_match = false;\n results_group = null;\n if (this.include_option_in_results(option)) {\n if (option.group) {\n option.group_match = false;\n option.active_options = 0;\n }\n if ((option.group_array_index != null) && this.results_data[option.group_array_index]) {\n results_group = this.results_data[option.group_array_index];\n if (results_group.active_options === 0 && results_group.search_match) {\n results += 1;\n }\n results_group.active_options += 1;\n }\n option.search_text = option.group ? option.label : option.html;\n if (!(option.group && !this.group_search)) {\n option.search_match = this.search_string_match(option.search_text, regex);\n if (option.search_match && !option.group) {\n results += 1;\n }\n if (option.search_match) {\n if (searchText.length) {\n startpos = option.search_text.search(zregex);\n text = option.search_text.substr(0, startpos + searchText.length) + '' + option.search_text.substr(startpos + searchText.length);\n option.search_text = text.substr(0, startpos) + '' + text.substr(startpos);\n }\n if (results_group != null) {\n results_group.group_match = true;\n }\n } else if ((option.group_array_index != null) && this.results_data[option.group_array_index].search_match) {\n option.search_match = true;\n }\n }\n }\n }\n this.result_clear_highlight();\n if (results < 1 && searchText.length) {\n this.update_results_content(\"\");\n return this.no_results(searchText);\n } else {\n this.update_results_content(this.results_option_build());\n return this.winnow_results_set_highlight();\n }\n };\n\n AbstractChosen.prototype.get_search_regex = function(escaped_search_string) {\n var regex_anchor, regex_flag;\n regex_anchor = this.search_contains ? \"\" : \"^\";\n regex_flag = this.case_sensitive_search ? \"\" : \"i\";\n return new RegExp(regex_anchor + escaped_search_string, regex_flag);\n };\n\n AbstractChosen.prototype.search_string_match = function(search_string, regex) {\n var part, parts, _i, _len;\n if (regex.test(search_string)) {\n return true;\n } else if (this.enable_split_word_search && (search_string.indexOf(\" \") >= 0 || search_string.indexOf(\"[\") === 0)) {\n parts = search_string.replace(/\\[|\\]/g, \"\").split(\" \");\n if (parts.length) {\n for (_i = 0, _len = parts.length; _i < _len; _i++) {\n part = parts[_i];\n if (regex.test(part)) {\n return true;\n }\n }\n }\n }\n };\n\n AbstractChosen.prototype.choices_count = function() {\n var option, _i, _len, _ref;\n if (this.selected_option_count != null) {\n return this.selected_option_count;\n }\n this.selected_option_count = 0;\n _ref = this.form_field.options;\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n option = _ref[_i];\n if (option.selected) {\n this.selected_option_count += 1;\n }\n }\n return this.selected_option_count;\n };\n\n AbstractChosen.prototype.choices_click = function(evt) {\n evt.preventDefault();\n if (!(this.results_showing || this.is_disabled)) {\n return this.results_show();\n }\n };\n\n AbstractChosen.prototype.keyup_checker = function(evt) {\n var stroke, _ref;\n stroke = (_ref = evt.which) != null ? _ref : evt.keyCode;\n this.search_field_scale();\n switch (stroke) {\n case 8:\n if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) {\n return this.keydown_backstroke();\n } else if (!this.pending_backstroke) {\n this.result_clear_highlight();\n return this.results_search();\n }\n break;\n case 13:\n evt.preventDefault();\n if (this.results_showing) {\n return this.result_select(evt);\n }\n break;\n case 27:\n if (this.results_showing) {\n this.results_hide();\n }\n return true;\n case 9:\n case 38:\n case 40:\n case 16:\n case 91:\n case 17:\n case 18:\n break;\n default:\n return this.results_search();\n }\n };\n\n AbstractChosen.prototype.clipboard_event_checker = function(evt) {\n var _this = this;\n return setTimeout((function() {\n return _this.results_search();\n }), 50);\n };\n\n AbstractChosen.prototype.container_width = function() {\n if (this.options.width != null) {\n return this.options.width;\n } else {\n return \"\" + this.form_field.offsetWidth + \"px\";\n }\n };\n\n AbstractChosen.prototype.include_option_in_results = function(option) {\n if (this.is_multiple && (!this.display_selected_options && option.selected)) {\n return false;\n }\n if (!this.display_disabled_options && option.disabled) {\n return false;\n }\n if (option.empty) {\n return false;\n }\n return true;\n };\n\n AbstractChosen.prototype.search_results_touchstart = function(evt) {\n this.touch_started = true;\n return this.search_results_mouseover(evt);\n };\n\n AbstractChosen.prototype.search_results_touchmove = function(evt) {\n this.touch_started = false;\n return this.search_results_mouseout(evt);\n };\n\n AbstractChosen.prototype.search_results_touchend = function(evt) {\n if (this.touch_started) {\n return this.search_results_mouseup(evt);\n }\n };\n\n AbstractChosen.prototype.outerHTML = function(element) {\n var tmp;\n if (element.outerHTML) {\n return element.outerHTML;\n }\n tmp = document.createElement(\"div\");\n tmp.appendChild(element);\n return tmp.innerHTML;\n };\n\n AbstractChosen.browser_is_supported = function() {\n if (\"Microsoft Internet Explorer\" === window.navigator.appName) {\n return document.documentMode >= 8;\n }\n if (/iP(od|hone)/i.test(window.navigator.userAgent) || /IEMobile/i.test(window.navigator.userAgent) || /Windows Phone/i.test(window.navigator.userAgent) || /BlackBerry/i.test(window.navigator.userAgent) || /BB10/i.test(window.navigator.userAgent) || /Android.*Mobile/i.test(window.navigator.userAgent)) {\n return false;\n }\n return true;\n };\n\n AbstractChosen.default_multiple_text = \"Select Some Options\";\n\n AbstractChosen.default_single_text = \"Select an Option\";\n\n AbstractChosen.default_no_result_text = \"No results match\";\n\n return AbstractChosen;\n\n })();\n\n $ = jQuery;\n\n $.fn.extend({\n chosen: function(options) {\n if (!AbstractChosen.browser_is_supported()) {\n return this;\n }\n return this.each(function(input_field) {\n var $this, chosen;\n $this = $(this);\n chosen = $this.data('chosen');\n if (options === 'destroy') {\n if (chosen instanceof Chosen) {\n chosen.destroy();\n }\n return;\n }\n if (!(chosen instanceof Chosen)) {\n $this.data('chosen', new Chosen(this, options));\n }\n });\n }\n });\n\n Chosen = (function(_super) {\n __extends(Chosen, _super);\n\n function Chosen() {\n _ref = Chosen.__super__.constructor.apply(this, arguments);\n return _ref;\n }\n\n Chosen.prototype.setup = function() {\n this.form_field_jq = $(this.form_field);\n this.current_selectedIndex = this.form_field.selectedIndex;\n return this.is_rtl = this.form_field_jq.hasClass(\"chosen-rtl\");\n };\n\n Chosen.prototype.set_up_html = function() {\n var container_classes, container_props;\n container_classes = [\"chosen-container\"];\n container_classes.push(\"chosen-container-\" + (this.is_multiple ? \"multi\" : \"single\"));\n if (this.inherit_select_classes && this.form_field.className) {\n container_classes.push(this.form_field.className);\n }\n if (this.is_rtl) {\n container_classes.push(\"chosen-rtl\");\n }\n container_props = {\n 'class': container_classes.join(' '),\n 'style': \"width: \" + (this.container_width()) + \";\",\n 'title': this.form_field.title\n };\n if (this.form_field.id.length) {\n container_props.id = this.form_field.id.replace(/[^\\w]/g, '_') + \"_chosen\";\n }\n this.container = $(\"
\", container_props);\n if (this.is_multiple) {\n this.container.html('
    ');\n } else {\n this.container.html('' + this.default_text + '
      ');\n }\n this.form_field_jq.hide().after(this.container);\n this.dropdown = this.container.find('div.chosen-drop').first();\n this.search_field = this.container.find('input').first();\n this.search_results = this.container.find('ul.chosen-results').first();\n this.search_field_scale();\n this.search_no_results = this.container.find('li.no-results').first();\n if (this.is_multiple) {\n this.search_choices = this.container.find('ul.chosen-choices').first();\n this.search_container = this.container.find('li.search-field').first();\n } else {\n this.search_container = this.container.find('div.chosen-search').first();\n this.selected_item = this.container.find('.chosen-single').first();\n }\n this.results_build();\n this.set_tab_index();\n return this.set_label_behavior();\n };\n\n Chosen.prototype.on_ready = function() {\n return this.form_field_jq.trigger(\"chosen:ready\", {\n chosen: this\n });\n };\n\n Chosen.prototype.register_observers = function() {\n var _this = this;\n this.container.bind('touchstart.chosen', function(evt) {\n _this.container_mousedown(evt);\n return evt.preventDefault();\n });\n this.container.bind('touchend.chosen', function(evt) {\n _this.container_mouseup(evt);\n return evt.preventDefault();\n });\n this.container.bind('mousedown.chosen', function(evt) {\n _this.container_mousedown(evt);\n });\n this.container.bind('mouseup.chosen', function(evt) {\n _this.container_mouseup(evt);\n });\n this.container.bind('mouseenter.chosen', function(evt) {\n _this.mouse_enter(evt);\n });\n this.container.bind('mouseleave.chosen', function(evt) {\n _this.mouse_leave(evt);\n });\n this.search_results.bind('mouseup.chosen', function(evt) {\n _this.search_results_mouseup(evt);\n });\n this.search_results.bind('mouseover.chosen', function(evt) {\n _this.search_results_mouseover(evt);\n });\n this.search_results.bind('mouseout.chosen', function(evt) {\n _this.search_results_mouseout(evt);\n });\n this.search_results.bind('mousewheel.chosen DOMMouseScroll.chosen', function(evt) {\n _this.search_results_mousewheel(evt);\n });\n this.search_results.bind('touchstart.chosen', function(evt) {\n _this.search_results_touchstart(evt);\n });\n this.search_results.bind('touchmove.chosen', function(evt) {\n _this.search_results_touchmove(evt);\n });\n this.search_results.bind('touchend.chosen', function(evt) {\n _this.search_results_touchend(evt);\n });\n this.form_field_jq.bind(\"chosen:updated.chosen\", function(evt) {\n _this.results_update_field(evt);\n });\n this.form_field_jq.bind(\"chosen:activate.chosen\", function(evt) {\n _this.activate_field(evt);\n });\n this.form_field_jq.bind(\"chosen:open.chosen\", function(evt) {\n _this.container_mousedown(evt);\n });\n this.form_field_jq.bind(\"chosen:close.chosen\", function(evt) {\n _this.input_blur(evt);\n });\n this.search_field.bind('blur.chosen', function(evt) {\n _this.input_blur(evt);\n });\n this.search_field.bind('keyup.chosen', function(evt) {\n _this.keyup_checker(evt);\n });\n this.search_field.bind('keydown.chosen', function(evt) {\n _this.keydown_checker(evt);\n });\n this.search_field.bind('focus.chosen', function(evt) {\n _this.input_focus(evt);\n });\n this.search_field.bind('cut.chosen', function(evt) {\n _this.clipboard_event_checker(evt);\n });\n this.search_field.bind('paste.chosen', function(evt) {\n _this.clipboard_event_checker(evt);\n });\n if (this.is_multiple) {\n return this.search_choices.bind('click.chosen', function(evt) {\n _this.choices_click(evt);\n });\n } else {\n return this.container.bind('click.chosen', function(evt) {\n evt.preventDefault();\n });\n }\n };\n\n Chosen.prototype.destroy = function() {\n $(this.container[0].ownerDocument).unbind(\"click.chosen\", this.click_test_action);\n if (this.search_field[0].tabIndex) {\n this.form_field_jq[0].tabIndex = this.search_field[0].tabIndex;\n }\n this.container.remove();\n this.form_field_jq.removeData('chosen');\n return this.form_field_jq.show();\n };\n\n Chosen.prototype.search_field_disabled = function() {\n this.is_disabled = this.form_field_jq[0].disabled;\n if (this.is_disabled) {\n this.container.addClass('chosen-disabled');\n this.search_field[0].disabled = true;\n if (!this.is_multiple) {\n this.selected_item.unbind(\"focus.chosen\", this.activate_action);\n }\n return this.close_field();\n } else {\n this.container.removeClass('chosen-disabled');\n this.search_field[0].disabled = false;\n if (!this.is_multiple) {\n return this.selected_item.bind(\"focus.chosen\", this.activate_action);\n }\n }\n };\n\n Chosen.prototype.container_mousedown = function(evt) {\n if (!this.is_disabled) {\n if (evt && evt.type === \"mousedown\" && !this.results_showing) {\n evt.preventDefault();\n }\n if (!((evt != null) && ($(evt.target)).hasClass(\"search-choice-close\"))) {\n if (!this.active_field) {\n if (this.is_multiple) {\n this.search_field.val(\"\");\n }\n $(this.container[0].ownerDocument).bind('click.chosen', this.click_test_action);\n this.results_show();\n } else if (!this.is_multiple && evt && (($(evt.target)[0] === this.selected_item[0]) || $(evt.target).parents(\"a.chosen-single\").length)) {\n evt.preventDefault();\n this.results_toggle();\n }\n return this.activate_field();\n }\n }\n };\n\n Chosen.prototype.container_mouseup = function(evt) {\n if (evt.target.nodeName === \"ABBR\" && !this.is_disabled) {\n return this.results_reset(evt);\n }\n };\n\n Chosen.prototype.search_results_mousewheel = function(evt) {\n var delta;\n if (evt.originalEvent) {\n delta = evt.originalEvent.deltaY || -evt.originalEvent.wheelDelta || evt.originalEvent.detail;\n }\n if (delta != null) {\n evt.preventDefault();\n if (evt.type === 'DOMMouseScroll') {\n delta = delta * 40;\n }\n return this.search_results.scrollTop(delta + this.search_results.scrollTop());\n }\n };\n\n Chosen.prototype.blur_test = function(evt) {\n if (!this.active_field && this.container.hasClass(\"chosen-container-active\")) {\n return this.close_field();\n }\n };\n\n Chosen.prototype.close_field = function() {\n $(this.container[0].ownerDocument).unbind(\"click.chosen\", this.click_test_action);\n this.active_field = false;\n this.results_hide();\n this.container.removeClass(\"chosen-container-active\");\n this.clear_backstroke();\n this.show_search_field_default();\n return this.search_field_scale();\n };\n\n Chosen.prototype.activate_field = function() {\n this.container.addClass(\"chosen-container-active\");\n this.active_field = true;\n this.search_field.val(this.search_field.val());\n return this.search_field.focus();\n };\n\n Chosen.prototype.test_active_click = function(evt) {\n var active_container;\n active_container = $(evt.target).closest('.chosen-container');\n if (active_container.length && this.container[0] === active_container[0]) {\n return this.active_field = true;\n } else {\n return this.close_field();\n }\n };\n\n Chosen.prototype.results_build = function() {\n this.parsing = true;\n this.selected_option_count = null;\n this.results_data = SelectParser.select_to_array(this.form_field);\n if (this.is_multiple) {\n this.search_choices.find(\"li.search-choice\").remove();\n } else if (!this.is_multiple) {\n this.single_set_selected_text();\n if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) {\n this.search_field[0].readOnly = true;\n this.container.addClass(\"chosen-container-single-nosearch\");\n } else {\n this.search_field[0].readOnly = false;\n this.container.removeClass(\"chosen-container-single-nosearch\");\n }\n }\n this.update_results_content(this.results_option_build({\n first: true\n }));\n this.search_field_disabled();\n this.show_search_field_default();\n this.search_field_scale();\n return this.parsing = false;\n };\n\n Chosen.prototype.result_do_highlight = function(el) {\n var high_bottom, high_top, maxHeight, visible_bottom, visible_top;\n if (el.length) {\n this.result_clear_highlight();\n this.result_highlight = el;\n this.result_highlight.addClass(\"highlighted\");\n maxHeight = parseInt(this.search_results.css(\"maxHeight\"), 10);\n visible_top = this.search_results.scrollTop();\n visible_bottom = maxHeight + visible_top;\n high_top = this.result_highlight.position().top + this.search_results.scrollTop();\n high_bottom = high_top + this.result_highlight.outerHeight();\n if (high_bottom >= visible_bottom) {\n return this.search_results.scrollTop((high_bottom - maxHeight) > 0 ? high_bottom - maxHeight : 0);\n } else if (high_top < visible_top) {\n return this.search_results.scrollTop(high_top);\n }\n }\n };\n\n Chosen.prototype.result_clear_highlight = function() {\n if (this.result_highlight) {\n this.result_highlight.removeClass(\"highlighted\");\n }\n return this.result_highlight = null;\n };\n\n Chosen.prototype.results_show = function() {\n if (this.is_multiple && this.max_selected_options <= this.choices_count()) {\n this.form_field_jq.trigger(\"chosen:maxselected\", {\n chosen: this\n });\n return false;\n }\n this.container.addClass(\"chosen-with-drop\");\n this.results_showing = true;\n this.search_field.focus();\n this.search_field.val(this.search_field.val());\n this.winnow_results();\n return this.form_field_jq.trigger(\"chosen:showing_dropdown\", {\n chosen: this\n });\n };\n\n Chosen.prototype.update_results_content = function(content) {\n return this.search_results.html(content);\n };\n\n Chosen.prototype.results_hide = function() {\n if (this.results_showing) {\n this.result_clear_highlight();\n this.container.removeClass(\"chosen-with-drop\");\n this.form_field_jq.trigger(\"chosen:hiding_dropdown\", {\n chosen: this\n });\n }\n return this.results_showing = false;\n };\n\n Chosen.prototype.set_tab_index = function(el) {\n var ti;\n if (this.form_field.tabIndex) {\n ti = this.form_field.tabIndex;\n this.form_field.tabIndex = -1;\n return this.search_field[0].tabIndex = ti;\n }\n };\n\n Chosen.prototype.set_label_behavior = function() {\n var _this = this;\n this.form_field_label = this.form_field_jq.parents(\"label\");\n if (!this.form_field_label.length && this.form_field.id.length) {\n this.form_field_label = $(\"label[for='\" + this.form_field.id + \"']\");\n }\n if (this.form_field_label.length > 0) {\n return this.form_field_label.bind('click.chosen', function(evt) {\n if (_this.is_multiple) {\n return _this.container_mousedown(evt);\n } else {\n return _this.activate_field();\n }\n });\n }\n };\n\n Chosen.prototype.show_search_field_default = function() {\n if (this.is_multiple && this.choices_count() < 1 && !this.active_field) {\n this.search_field.val(this.default_text);\n return this.search_field.addClass(\"default\");\n } else {\n this.search_field.val(\"\");\n return this.search_field.removeClass(\"default\");\n }\n };\n\n Chosen.prototype.search_results_mouseup = function(evt) {\n var target;\n target = $(evt.target).hasClass(\"active-result\") ? $(evt.target) : $(evt.target).parents(\".active-result\").first();\n if (target.length) {\n this.result_highlight = target;\n this.result_select(evt);\n return this.search_field.focus();\n }\n };\n\n Chosen.prototype.search_results_mouseover = function(evt) {\n var target;\n target = $(evt.target).hasClass(\"active-result\") ? $(evt.target) : $(evt.target).parents(\".active-result\").first();\n if (target) {\n return this.result_do_highlight(target);\n }\n };\n\n Chosen.prototype.search_results_mouseout = function(evt) {\n if ($(evt.target).hasClass(\"active-result\" || $(evt.target).parents('.active-result').first())) {\n return this.result_clear_highlight();\n }\n };\n\n Chosen.prototype.choice_build = function(item) {\n var choice, close_link,\n _this = this;\n choice = $('
    • ', {\n \"class\": \"search-choice\"\n }).html(\"\" + (this.choice_label(item)) + \"\");\n if (item.disabled) {\n choice.addClass('search-choice-disabled');\n } else {\n close_link = $('', {\n \"class\": 'search-choice-close',\n 'data-option-array-index': item.array_index\n });\n close_link.bind('click.chosen', function(evt) {\n return _this.choice_destroy_link_click(evt);\n });\n choice.append(close_link);\n }\n return this.search_container.before(choice);\n };\n\n Chosen.prototype.choice_destroy_link_click = function(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n if (!this.is_disabled) {\n return this.choice_destroy($(evt.target));\n }\n };\n\n Chosen.prototype.choice_destroy = function(link) {\n if (this.result_deselect(link[0].getAttribute(\"data-option-array-index\"))) {\n this.show_search_field_default();\n if (this.is_multiple && this.choices_count() > 0 && this.search_field.val().length < 1) {\n this.results_hide();\n }\n link.parents('li').first().remove();\n return this.search_field_scale();\n }\n };\n\n Chosen.prototype.results_reset = function() {\n this.reset_single_select_options();\n this.form_field.options[0].selected = true;\n this.single_set_selected_text();\n this.show_search_field_default();\n this.results_reset_cleanup();\n this.form_field_jq.trigger(\"change\");\n if (this.active_field) {\n return this.results_hide();\n }\n };\n\n Chosen.prototype.results_reset_cleanup = function() {\n this.current_selectedIndex = this.form_field.selectedIndex;\n return this.selected_item.find(\"abbr\").remove();\n };\n\n Chosen.prototype.result_select = function(evt) {\n var high, item;\n if (this.result_highlight) {\n high = this.result_highlight;\n this.result_clear_highlight();\n if (this.is_multiple && this.max_selected_options <= this.choices_count()) {\n this.form_field_jq.trigger(\"chosen:maxselected\", {\n chosen: this\n });\n return false;\n }\n if (this.is_multiple) {\n high.removeClass(\"active-result\");\n } else {\n this.reset_single_select_options();\n }\n high.addClass(\"result-selected\");\n item = this.results_data[high[0].getAttribute(\"data-option-array-index\")];\n item.selected = true;\n this.form_field.options[item.options_index].selected = true;\n this.selected_option_count = null;\n if (this.is_multiple) {\n this.choice_build(item);\n } else {\n this.single_set_selected_text(this.choice_label(item));\n }\n if (!((evt.metaKey || evt.ctrlKey) && this.is_multiple)) {\n this.results_hide();\n }\n this.show_search_field_default();\n if (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) {\n this.form_field_jq.trigger(\"change\", {\n 'selected': this.form_field.options[item.options_index].value\n });\n }\n this.current_selectedIndex = this.form_field.selectedIndex;\n evt.preventDefault();\n return this.search_field_scale();\n }\n };\n\n Chosen.prototype.single_set_selected_text = function(text) {\n if (text == null) {\n text = this.default_text;\n }\n if (text === this.default_text) {\n this.selected_item.addClass(\"chosen-default\");\n } else {\n this.single_deselect_control_build();\n this.selected_item.removeClass(\"chosen-default\");\n }\n return this.selected_item.find(\"span\").html(text);\n };\n\n Chosen.prototype.result_deselect = function(pos) {\n var result_data;\n result_data = this.results_data[pos];\n if (!this.form_field.options[result_data.options_index].disabled) {\n result_data.selected = false;\n this.form_field.options[result_data.options_index].selected = false;\n this.selected_option_count = null;\n this.result_clear_highlight();\n if (this.results_showing) {\n this.winnow_results();\n }\n this.form_field_jq.trigger(\"change\", {\n deselected: this.form_field.options[result_data.options_index].value\n });\n this.search_field_scale();\n return true;\n } else {\n return false;\n }\n };\n\n Chosen.prototype.single_deselect_control_build = function() {\n if (!this.allow_single_deselect) {\n return;\n }\n if (!this.selected_item.find(\"abbr\").length) {\n this.selected_item.find(\"span\").first().after(\"\");\n }\n return this.selected_item.addClass(\"chosen-single-with-deselect\");\n };\n\n Chosen.prototype.get_search_text = function() {\n return $('
      ').text($.trim(this.search_field.val())).html();\n };\n\n Chosen.prototype.winnow_results_set_highlight = function() {\n var do_high, selected_results;\n selected_results = !this.is_multiple ? this.search_results.find(\".result-selected.active-result\") : [];\n do_high = selected_results.length ? selected_results.first() : this.search_results.find(\".active-result\").first();\n if (do_high != null) {\n return this.result_do_highlight(do_high);\n }\n };\n\n Chosen.prototype.no_results = function(terms) {\n var no_results_html;\n no_results_html = $('
    • ' + this.results_none_found + ' \"\"
    • ');\n no_results_html.find(\"span\").first().html(terms);\n this.search_results.append(no_results_html);\n return this.form_field_jq.trigger(\"chosen:no_results\", {\n chosen: this\n });\n };\n\n Chosen.prototype.no_results_clear = function() {\n return this.search_results.find(\".no-results\").remove();\n };\n\n Chosen.prototype.keydown_arrow = function() {\n var next_sib;\n if (this.results_showing && this.result_highlight) {\n next_sib = this.result_highlight.nextAll(\"li.active-result\").first();\n if (next_sib) {\n return this.result_do_highlight(next_sib);\n }\n } else {\n return this.results_show();\n }\n };\n\n Chosen.prototype.keyup_arrow = function() {\n var prev_sibs;\n if (!this.results_showing && !this.is_multiple) {\n return this.results_show();\n } else if (this.result_highlight) {\n prev_sibs = this.result_highlight.prevAll(\"li.active-result\");\n if (prev_sibs.length) {\n return this.result_do_highlight(prev_sibs.first());\n } else {\n if (this.choices_count() > 0) {\n this.results_hide();\n }\n return this.result_clear_highlight();\n }\n }\n };\n\n Chosen.prototype.keydown_backstroke = function() {\n var next_available_destroy;\n if (this.pending_backstroke) {\n this.choice_destroy(this.pending_backstroke.find(\"a\").first());\n return this.clear_backstroke();\n } else {\n next_available_destroy = this.search_container.siblings(\"li.search-choice\").last();\n if (next_available_destroy.length && !next_available_destroy.hasClass(\"search-choice-disabled\")) {\n this.pending_backstroke = next_available_destroy;\n if (this.single_backstroke_delete) {\n return this.keydown_backstroke();\n } else {\n return this.pending_backstroke.addClass(\"search-choice-focus\");\n }\n }\n }\n };\n\n Chosen.prototype.clear_backstroke = function() {\n if (this.pending_backstroke) {\n this.pending_backstroke.removeClass(\"search-choice-focus\");\n }\n return this.pending_backstroke = null;\n };\n\n Chosen.prototype.keydown_checker = function(evt) {\n var stroke, _ref1;\n stroke = (_ref1 = evt.which) != null ? _ref1 : evt.keyCode;\n this.search_field_scale();\n if (stroke !== 8 && this.pending_backstroke) {\n this.clear_backstroke();\n }\n switch (stroke) {\n case 8:\n this.backstroke_length = this.search_field.val().length;\n break;\n case 9:\n if (this.results_showing && !this.is_multiple) {\n this.result_select(evt);\n }\n this.mouse_on_container = false;\n break;\n case 13:\n if (this.results_showing) {\n evt.preventDefault();\n }\n break;\n case 32:\n if (this.disable_search) {\n evt.preventDefault();\n }\n break;\n case 38:\n evt.preventDefault();\n this.keyup_arrow();\n break;\n case 40:\n evt.preventDefault();\n this.keydown_arrow();\n break;\n }\n };\n\n Chosen.prototype.search_field_scale = function() {\n var div, f_width, h, style, style_block, styles, w, _i, _len;\n if (this.is_multiple) {\n h = 0;\n w = 0;\n style_block = \"position:absolute; left: -1000px; top: -1000px; display:none;\";\n styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing'];\n for (_i = 0, _len = styles.length; _i < _len; _i++) {\n style = styles[_i];\n style_block += style + \":\" + this.search_field.css(style) + \";\";\n }\n div = $('
      ', {\n 'style': style_block\n });\n div.text(this.search_field.val());\n $('body').append(div);\n w = div.width() + 25;\n div.remove();\n f_width = this.container.outerWidth();\n if (w > f_width - 10) {\n w = f_width - 10;\n }\n return this.search_field.css({\n 'width': w + 'px'\n });\n }\n };\n\n return Chosen;\n\n })(AbstractChosen);\n\n}).call(this);\n","module.exports = require(\"github:harvesthq/chosen@1.6.2/chosen.jquery\");","define([\"jquery\", \"knockout\", \"chosen\", \"styles/custom/chosen-custom.css!\"],\r\n function($, ko) {\r\n ko.bindingHandlers.multiselect = {\r\n init: function (el, valueAccessor, allBindings, viewModel) {\r\n var settings = ko.utils.unwrapObservable(allBindings().multiselect) || {};\r\n $.extend(settings,\r\n {\r\n no_results_text: \"Совпадений не найдено:\"\r\n });\r\n $(el).chosen(settings);\r\n $(el).on('change', function (evt, params) {\r\n var checked = !!params.selected;\r\n var changedValue = checked ? params.selected : params.deselected;\r\n\r\n if (checked) {\r\n if (!allBindings.has(\"options\"))\r\n return;\r\n var options = ko.utils.unwrapObservable(allBindings.get(\"options\"));\r\n\r\n var valueToAdd = null;\r\n if (allBindings.has(\"optionsValue\")) { // работаем с объектами\r\n var optionsValue = allBindings.get(\"optionsValue\");\r\n var match = ko.utils.arrayFirst(options,\r\n function (item) {\r\n return item[optionsValue] == changedValue; // ==, так как сравниваем со строкой\r\n });\r\n if (match)\r\n valueToAdd = match[optionsValue];\r\n } else { // работаем с простыми типами\r\n valueToAdd = ko.utils.arrayFirst(options,\r\n function (item) {\r\n return item == changedValue; // ==, так как сравниваем со строкой\r\n });\r\n }\r\n // Ноль - валидное значение\r\n if (valueToAdd == null || valueToAdd == undefined)\r\n return;\r\n\r\n if (allBindings.has(\"selectedOptions\")) {\r\n allBindings.get(\"selectedOptions\").push(valueToAdd);\r\n }\r\n } else {\r\n if (allBindings.has(\"selectedOptions\")) {\r\n var selectedOptions = allBindings.get(\"selectedOptions\");\r\n var valueToRemove = ko.utils.arrayFirst(ko.utils.unwrapObservable(selectedOptions),\r\n function (item) {\r\n return item == changedValue; // ==, так как сравниваем со строкой\r\n });\r\n // Ноль - валидное значение\r\n if (valueToRemove != null && valueToRemove != undefined) {\r\n selectedOptions.remove(valueToRemove);\r\n }\r\n }\r\n }\r\n });\r\n if (allBindings.has(\"options\")) {\r\n var options = allBindings.get(\"options\");\r\n if (ko.isObservable(options)) {\r\n options.subscribe(function () {\r\n $(el).trigger('chosen:updated');\r\n });\r\n }\r\n }\r\n\r\n if (allBindings.has(\"selectedOptions\")) {\r\n var selectedOptions = allBindings.get(\"selectedOptions\");\r\n if (ko.isObservable(selectedOptions)) {\r\n selectedOptions.subscribe(function () {\r\n $(el).trigger('chosen:updated');\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });","// http://code.accursoft.com/caret - 1.3.3\n!function(e){e.fn.caret=function(e){var t=this[0],n=\"true\"===t.contentEditable;if(0==arguments.length){if(window.getSelection){if(n){t.focus();var o=window.getSelection().getRangeAt(0),r=o.cloneRange();return r.selectNodeContents(t),r.setEnd(o.endContainer,o.endOffset),r.toString().length}return t.selectionStart}if(document.selection){if(t.focus(),n){var o=document.selection.createRange(),r=document.body.createTextRange();return r.moveToElementText(t),r.setEndPoint(\"EndToEnd\",o),r.text.length}var e=0,c=t.createTextRange(),r=document.selection.createRange().duplicate(),a=r.getBookmark();for(c.moveToBookmark(a);0!==c.moveStart(\"character\",-1);)e++;return e}return t.selectionStart?t.selectionStart:0}if(-1==e&&(e=this[n?\"text\":\"val\"]().length),window.getSelection)n?(t.focus(),window.getSelection().collapse(t.firstChild,e)):t.setSelectionRange(e,e);else if(document.body.createTextRange)if(n){var c=document.body.createTextRange();c.moveToElementText(t),c.moveStart(\"character\",e),c.collapse(!0),c.select()}else{var c=t.createTextRange();c.move(\"character\",e),c.select()}return n||t.focus(),e}}(jQuery);\n","/*\n\tjQuery tagEditor v1.0.20\n Copyright (c) 2014 Simon Steinberger / Pixabay\n GitHub: https://github.com/Pixabay/jQuery-tagEditor\n\tLicense: http://www.opensource.org/licenses/mit-license.php\n*/\n\n(function($){\n // auto grow input (stackoverflow.com/questions/931207)\n $.fn.tagEditorInput=function(){var t=\" \",e=$(this),n=parseInt(e.css(\"fontSize\")),i=$(\"\").css({position:\"absolute\",top:-9999,left:-9999,width:\"auto\",fontSize:e.css(\"fontSize\"),fontFamily:e.css(\"fontFamily\"),fontWeight:e.css(\"fontWeight\"),letterSpacing:e.css(\"letterSpacing\"),whiteSpace:\"nowrap\"}),s=function(){if(t!==(t=e.val())){i.text(t);var s=i.width()+n;20>s&&(s=20),s!=e.width()&&e.width(s)}};return i.insertAfter(e),e.bind(\"keyup keydown focus\",s)};\n\n // plugin with val as parameter for public methods\n $.fn.tagEditor = function(options, val, blur){\n\n // helper\n function escape(tag) {\n return tag.replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n }\n\n // build options dictionary with default values\n var blur_result, o = $.extend({}, $.fn.tagEditor.defaults, options), selector = this;\n\n // store regex and default delimiter in options for later use\n o.dregex = new RegExp('['+o.delimiter.replace('-', '\\-')+']', 'g');\n\n // public methods\n if (typeof options == 'string') {\n // depending on selector, response may contain tag lists of multiple editor instances\n var response = [];\n selector.each(function(){\n // the editor is the next sibling to the hidden, original field\n var el = $(this), o = el.data('options'), ed = el.next('.tag-editor');\n if (options == 'getTags')\n response.push({field: el[0], editor: ed, tags: ed.data('tags')});\n else if (options == 'addTag') {\n if (o.maxTags && ed.data('tags').length >= o.maxTags) return false;\n // insert new tag\n $('
    •  '+o.delimiter[0]+'
    • ').appendTo(ed).find('.tag-editor-tag')\n .html('').addClass('active').find('input').val(val).blur();\n if (!blur) ed.click();\n else $('.placeholder', ed).remove();\n } else if (options == 'removeTag') {\n // trigger delete on matching tag, then click editor to create a new tag\n $('.tag-editor-tag', ed).filter(function(){return $(this).text()==val;}).closest('li').find('.tag-editor-delete').click();\n if (!blur) ed.click();\n } else if (options == 'destroy') {\n el.removeClass('tag-editor-hidden-src').removeData('options').off('focus.tag-editor').next('.tag-editor').remove();\n }\n });\n return options == 'getTags' ? response : this;\n }\n\n // delete selected tags on backspace, delete, ctrl+x\n if (window.getSelection) $(document).off('keydown.tag-editor').on('keydown.tag-editor', function(e){\n if (e.which == 8 || e.which == 46 || e.ctrlKey && e.which == 88) {\n try {\n var sel = getSelection(), el = document.activeElement.tagName == 'BODY' ? $(sel.getRangeAt(0).startContainer.parentNode).closest('.tag-editor') : 0;\n } catch(e){ el = 0; }\n if (sel.rangeCount > 0 && el && el.length) {\n var tags = [], splits = sel.toString().split(el.prev().data('options').dregex);\n for (i=0; i').insertAfter(el);\n el.addClass('tag-editor-hidden-src') // hide original field\n .data('options', o) // set data on hidden field\n .on('focus.tag-editor', function(){ ed.click(); }); // simulate tabindex\n\n // add dummy item for min-height on empty editor\n ed.append('
    •  
    • ');\n\n // markup for new tag\n var new_tag = '
    •  '+o.delimiter[0]+'
    • ';\n\n // helper: update global data\n function set_placeholder(){\n if (o.placeholder && !tag_list.length && !$('.deleted, .placeholder, input', ed).length)\n ed.append('
    • '+o.placeholder+'
    • ');\n }\n\n // helper: update global data\n function update_globals(init){\n var old_tags = tag_list.toString();\n tag_list = $('.tag-editor-tag:not(.deleted)', ed).map(function(i, e) {\n var val = $.trim($(this).hasClass('active') ? $(this).find('input').val() : $(e).text());\n if (val) return val;\n }).get();\n ed.data('tags', tag_list);\n el.val(tag_list.join(o.delimiter[0]));\n // change callback except for plugin init\n if (!init) if (old_tags != tag_list.toString()) o.onChange(el, ed, tag_list);\n set_placeholder();\n }\n\n ed.click(function(e, closest_tag){\n var d, dist = 99999, loc;\n\n // do not create tag when user selects tags by text selection\n if (window.getSelection && getSelection() != '') return;\n\n if (o.maxTags && ed.data('tags').length >= o.maxTags) { ed.find('input').blur(); return false; }\n\n blur_result = true\n $('input:focus', ed).blur();\n if (!blur_result) return false;\n blur_result = true\n\n // always remove placeholder on click\n $('.placeholder', ed).remove();\n if (closest_tag && closest_tag.length)\n loc = 'before';\n else {\n // calculate tag closest to click position\n $('.tag-editor-tag', ed).each(function(){\n var tag = $(this), to = tag.offset(), tag_x = to.left, tag_y = to.top;\n if (e.pageY >= tag_y && e.pageY <= tag_y+tag.height()) {\n if (e.pageX < tag_x) loc = 'before', d = tag_x - e.pageX;\n else loc = 'after', d = e.pageX - tag_x - tag.width();\n if (d < dist) dist = d, closest_tag = tag;\n }\n });\n }\n\n if (loc == 'before') {\n $(new_tag).insertBefore(closest_tag.closest('li')).find('.tag-editor-tag').click();\n } else if (loc == 'after')\n $(new_tag).insertAfter(closest_tag.closest('li')).find('.tag-editor-tag').click();\n else // empty editor\n $(new_tag).appendTo(ed).find('.tag-editor-tag').click();\n return false;\n });\n\n ed.on('click', '.tag-editor-delete', function(e){\n // delete icon is hidden when input is visible; place cursor near invisible delete icon on click\n if ($(this).prev().hasClass('active')) { $(this).closest('li').find('input').caret(-1); return false; }\n\n var li = $(this).closest('li'), tag = li.find('.tag-editor-tag');\n if (o.beforeTagDelete(el, ed, tag_list, tag.text()) === false) return false;\n tag.addClass('deleted').animate({width: 0}, o.animateDelete, function(){ li.remove(); set_placeholder(); });\n update_globals();\n return false;\n });\n\n // delete on right mouse click or ctrl+click\n if (o.clickDelete)\n ed.on('mousedown', '.tag-editor-tag', function(e){\n if (e.ctrlKey || e.which > 1) {\n var li = $(this).closest('li'), tag = li.find('.tag-editor-tag');\n if (o.beforeTagDelete(el, ed, tag_list, tag.text()) === false) return false;\n tag.addClass('deleted').animate({width: 0}, o.animateDelete, function(){ li.remove(); set_placeholder(); });\n update_globals();\n return false;\n }\n });\n\n ed.on('click', '.tag-editor-tag', function(e){\n // delete on right click or ctrl+click -> exit\n if (o.clickDelete && (e.ctrlKey || e.which > 1)) return false;\n\n if (!$(this).hasClass('active')) {\n var tag = $(this).text();\n // guess cursor position in text input\n var left_percent = Math.abs(($(this).offset().left - e.pageX)/$(this).width()), caret_pos = parseInt(tag.length*left_percent),\n input = $(this).html('').addClass('active').find('input');\n input.data('old_tag', tag).tagEditorInput().focus().caret(caret_pos);\n if (o.autocomplete) {\n var aco = $.extend({}, o.autocomplete);\n // extend user provided autocomplete select method\n var ac_select = 'select' in aco ? o.autocomplete.select : '';\n aco.select = function(e, ui){ if (ac_select) ac_select(e, ui); setTimeout(function(){\n ed.trigger('click', [$('.active', ed).find('input').closest('li').next('li').find('.tag-editor-tag')]);\n }, 20); };\n input.autocomplete(aco);\n }\n }\n return false;\n });\n\n // helper: split into multiple tags, e.g. after paste\n function split_cleanup(input){\n var li = input.closest('li'), sub_tags = input.val().replace(/ +/, ' ').split(o.dregex),\n old_tag = input.data('old_tag'), old_tags = tag_list.slice(0), exceeded = false, cb_val; // copy tag_list\n for (var i=0; i
       '+o.delimiter[0]+'
      '+escape(tag)+'
      ');\n if (o.maxTags && old_tags.length >= o.maxTags) { exceeded = true; break; }\n }\n input.attr('maxlength', o.maxLength).removeData('old_tag').val('')\n if (exceeded) input.blur(); else input.focus();\n update_globals();\n }\n\n ed.on('blur', 'input', function(e){\n e.stopPropagation();\n var input = $(this), old_tag = input.data('old_tag'), tag = $.trim(input.val().replace(/ +/, ' ').replace(o.dregex, o.delimiter[0]));\n if (!tag) {\n if (old_tag && o.beforeTagDelete(el, ed, tag_list, old_tag) === false) {\n input.val(old_tag).focus();\n blur_result = false;\n update_globals();\n return;\n }\n try { input.closest('li').remove(); } catch(e){}\n if (old_tag) update_globals();\n }\n else if (tag.indexOf(o.delimiter[0])>=0) { split_cleanup(input); return; }\n else if (tag != old_tag) {\n if (o.forceLowercase) tag = tag.toLowerCase();\n cb_val = o.beforeTagSave(el, ed, tag_list, old_tag, tag);\n tag = cb_val || tag;\n if (cb_val === false) {\n if (old_tag) {\n input.val(old_tag).focus();\n blur_result = false;\n update_globals();\n return;\n }\n try { input.closest('li').remove(); } catch(e){}\n if (old_tag) update_globals();\n }\n // remove duplicates\n else if (o.removeDuplicates)\n $('.tag-editor-tag:not(.active)', ed).each(function(){ if ($(this).text() == tag) $(this).closest('li').remove(); });\n }\n input.parent().html(escape(tag)).removeClass('active');\n if (tag != old_tag) update_globals();\n set_placeholder();\n });\n\n var pasted_content;\n ed.on('paste', 'input', function(e){\n $(this).removeAttr('maxlength');\n pasted_content = $(this);\n setTimeout(function(){ split_cleanup(pasted_content); }, 30);\n });\n\n // keypress delimiter\n var inp;\n ed.on('keypress', 'input', function(e){\n if (o.delimiter.indexOf(String.fromCharCode(e.which))>=0) {\n inp = $(this);\n setTimeout(function(){ split_cleanup(inp); }, 20);\n }\n });\n\n ed.on('keydown', 'input', function(e){\n var $t = $(this);\n\n // left/up key + backspace key on empty field\n if ((e.which == 37 || !o.autocomplete && e.which == 38) && !$t.caret() || e.which == 8 && !$t.val()) {\n var prev_tag = $t.closest('li').prev('li').find('.tag-editor-tag');\n if (prev_tag.length) prev_tag.click().find('input').caret(-1);\n else if ($t.val() && !(o.maxTags && ed.data('tags').length >= o.maxTags)) $(new_tag).insertBefore($t.closest('li')).find('.tag-editor-tag').click();\n return false;\n }\n // right/down key\n else if ((e.which == 39 || !o.autocomplete && e.which == 40) && ($t.caret() == $t.val().length)) {\n var next_tag = $t.closest('li').next('li').find('.tag-editor-tag');\n if (next_tag.length) next_tag.click().find('input').caret(0);\n else if ($t.val()) ed.click();\n return false;\n }\n // tab key\n else if (e.which == 9) {\n // shift+tab\n if (e.shiftKey) {\n var prev_tag = $t.closest('li').prev('li').find('.tag-editor-tag');\n if (prev_tag.length) prev_tag.click().find('input').caret(0);\n else if ($t.val() && !(o.maxTags && ed.data('tags').length >= o.maxTags)) $(new_tag).insertBefore($t.closest('li')).find('.tag-editor-tag').click();\n // allow tabbing to previous element\n else {\n el.attr('disabled', 'disabled');\n setTimeout(function(){ el.removeAttr('disabled'); }, 30);\n return;\n }\n return false;\n // tab\n } else {\n var next_tag = $t.closest('li').next('li').find('.tag-editor-tag');\n if (next_tag.length) next_tag.click().find('input').caret(0);\n else if ($t.val()) ed.click();\n else return; // allow tabbing to next element\n return false;\n }\n }\n // del key\n else if (e.which == 46 && (!$.trim($t.val()) || ($t.caret() == $t.val().length))) {\n var next_tag = $t.closest('li').next('li').find('.tag-editor-tag');\n if (next_tag.length) next_tag.click().find('input').caret(0);\n else if ($t.val()) ed.click();\n return false;\n }\n // enter key\n else if (e.which == 13) {\n ed.trigger('click', [$t.closest('li').next('li').find('.tag-editor-tag')]);\n\n // trigger blur if maxTags limit is reached\n if (o.maxTags && ed.data('tags').length >= o.maxTags) ed.find('input').blur();\n\n return false;\n }\n // pos1\n else if (e.which == 36 && !$t.caret()) ed.find('.tag-editor-tag').first().click();\n // end\n else if (e.which == 35 && $t.caret() == $t.val().length) ed.find('.tag-editor-tag').last().click();\n // esc\n else if (e.which == 27) {\n $t.val($t.data('old_tag') ? $t.data('old_tag') : '').blur();\n return false;\n }\n });\n\n // create initial tags\n var tags = o.initialTags.length ? o.initialTags : el.val().split(o.dregex);\n for (var i=0; i= o.maxTags) break;\n var tag = $.trim(tags[i].replace(/ +/, ' '));\n if (tag) {\n if (o.forceLowercase) tag = tag.toLowerCase();\n tag_list.push(tag);\n ed.append('
    •  '+o.delimiter[0]+'
      '+escape(tag)+'
    • ');\n }\n }\n update_globals(true); // true -> no onChange callback\n\n // init sortable\n if (o.sortable && $.fn.sortable) ed.sortable({\n distance: 5, cancel: '.tag-editor-spacer, input', helper: 'clone',\n update: function(){ update_globals(); }\n });\n });\n };\n\n $.fn.tagEditor.defaults = {\n initialTags: [],\n maxTags: 0,\n maxLength: 50,\n delimiter: ',;',\n placeholder: '',\n forceLowercase: true,\n removeDuplicates: true,\n clickDelete: false,\n animateDelete: 175,\n sortable: true, // jQuery UI sortable\n autocomplete: null, // options dict for jQuery UI autocomplete\n\n // callbacks\n onChange: function(){},\n beforeTagSave: function(){},\n beforeTagDelete: function(){}\n };\n}(jQuery));\n","define([\"jquery\", \"knockout\", \"tag-editor/jquery.tag-editor\", \"styles/custom/tag-editor-custom.css!\"],\r\n function($, ko) {\r\n ko.bindingHandlers.multiInput = {\r\n init: function (el, valueAccessor, allBindings, viewModel) {\r\n var settings = ko.utils.unwrapObservable(allBindings().multiInput) || {};\r\n var values = settings.values;\r\n $(el).tagEditor({\r\n initialTags: ko.unwrap(values),\r\n forceLowercase: false,\r\n onChange: function (field, editor, tags) {\r\n if (ko.isObservable(values)) {\r\n values(tags);\r\n }\r\n }\r\n });\r\n if (ko.isObservable(values)) {\r\n values.subscribe(function (changes) { \r\n ko.utils.arrayForEach(changes || [], function (change) {\r\n if (change.status === \"added\") {\r\n $(el).tagEditor(\"addTag\", change.value, true);\r\n }\r\n if (change.status === 'deleted') {\r\n $(el).tagEditor(\"removeTag\", change.value, true);\r\n }\r\n });\r\n },\r\n null,\r\n \"arrayChange\");\r\n }\r\n }\r\n }\r\n });","/* Tooltipster v3.3.0 */;(function(e,t,n){function s(t,n){this.bodyOverflowX;this.callbacks={hide:[],show:[]};this.checkInterval=null;this.Content;this.$el=e(t);this.$elProxy;this.elProxyPosition;this.enabled=true;this.options=e.extend({},i,n);this.mouseIsOverProxy=false;this.namespace=\"tooltipster-\"+Math.round(Math.random()*1e5);this.Status=\"hidden\";this.timerHide=null;this.timerShow=null;this.$tooltip;this.options.iconTheme=this.options.iconTheme.replace(\".\",\"\");this.options.theme=this.options.theme.replace(\".\",\"\");this._init()}function o(t,n){var r=true;e.each(t,function(e,i){if(typeof n[e]===\"undefined\"||t[e]!==n[e]){r=false;return false}});return r}function f(){return!a&&u}function l(){var e=n.body||n.documentElement,t=e.style,r=\"transition\";if(typeof t[r]==\"string\"){return true}v=[\"Moz\",\"Webkit\",\"Khtml\",\"O\",\"ms\"],r=r.charAt(0).toUpperCase()+r.substr(1);for(var i=0;i
      ');t.$elProxy.text(t.options.icon)}else{if(t.options.iconCloning)t.$elProxy=t.options.icon.clone(true);else t.$elProxy=t.options.icon}t.$elProxy.insertAfter(t.$el)}else{t.$elProxy=t.$el}if(t.options.trigger==\"hover\"){t.$elProxy.on(\"mouseenter.\"+t.namespace,function(){if(!f()||t.options.touchDevices){t.mouseIsOverProxy=true;t._show()}}).on(\"mouseleave.\"+t.namespace,function(){if(!f()||t.options.touchDevices){t.mouseIsOverProxy=false}});if(u&&t.options.touchDevices){t.$elProxy.on(\"touchstart.\"+t.namespace,function(){t._showNow()})}}else if(t.options.trigger==\"click\"){t.$elProxy.on(\"click.\"+t.namespace,function(){if(!f()||t.options.touchDevices){t._show()}})}}},_show:function(){var e=this;if(e.Status!=\"shown\"&&e.Status!=\"appearing\"){if(e.options.delay){e.timerShow=setTimeout(function(){if(e.options.trigger==\"click\"||e.options.trigger==\"hover\"&&e.mouseIsOverProxy){e._showNow()}},e.options.delay)}else e._showNow()}},_showNow:function(n){var r=this;r.options.functionBefore.call(r.$el,r.$el,function(){if(r.enabled&&r.Content!==null){if(n)r.callbacks.show.push(n);r.callbacks.hide=[];clearTimeout(r.timerShow);r.timerShow=null;clearTimeout(r.timerHide);r.timerHide=null;if(r.options.onlyOne){e(\".tooltipstered\").not(r.$el).each(function(t,n){var r=e(n),i=r.data(\"tooltipster-ns\");e.each(i,function(e,t){var n=r.data(t),i=n.status(),s=n.option(\"autoClose\");if(i!==\"hidden\"&&i!==\"disappearing\"&&s){n.hide()}})})}var i=function(){r.Status=\"shown\";e.each(r.callbacks.show,function(e,t){t.call(r.$el)});r.callbacks.show=[]};if(r.Status!==\"hidden\"){var s=0;if(r.Status===\"disappearing\"){r.Status=\"appearing\";if(l()){r.$tooltip.clearQueue().removeClass(\"tooltipster-dying\").addClass(\"tooltipster-\"+r.options.animation+\"-show\");if(r.options.speed>0)r.$tooltip.delay(r.options.speed);r.$tooltip.queue(i)}else{r.$tooltip.stop().fadeIn(i)}}else if(r.Status===\"shown\"){i()}}else{r.Status=\"appearing\";var s=r.options.speed;r.bodyOverflowX=e(\"body\").css(\"overflow-x\");e(\"body\").css(\"overflow-x\",\"hidden\");var o=\"tooltipster-\"+r.options.animation,a=\"-webkit-transition-duration: \"+r.options.speed+\"ms; -webkit-animation-duration: \"+r.options.speed+\"ms; -moz-transition-duration: \"+r.options.speed+\"ms; -moz-animation-duration: \"+r.options.speed+\"ms; -o-transition-duration: \"+r.options.speed+\"ms; -o-animation-duration: \"+r.options.speed+\"ms; -ms-transition-duration: \"+r.options.speed+\"ms; -ms-animation-duration: \"+r.options.speed+\"ms; transition-duration: \"+r.options.speed+\"ms; animation-duration: \"+r.options.speed+\"ms;\",f=r.options.minWidth?\"min-width:\"+Math.round(r.options.minWidth)+\"px;\":\"\",c=r.options.maxWidth?\"max-width:\"+Math.round(r.options.maxWidth)+\"px;\":\"\",h=r.options.interactive?\"pointer-events: auto;\":\"\";r.$tooltip=e('
      ');if(l())r.$tooltip.addClass(o);r._content_insert();r.$tooltip.appendTo(\"body\");r.reposition();r.options.functionReady.call(r.$el,r.$el,r.$tooltip);if(l()){r.$tooltip.addClass(o+\"-show\");if(r.options.speed>0)r.$tooltip.delay(r.options.speed);r.$tooltip.queue(i)}else{r.$tooltip.css(\"display\",\"none\").fadeIn(r.options.speed,i)}r._interval_set();e(t).on(\"scroll.\"+r.namespace+\" resize.\"+r.namespace,function(){r.reposition()});if(r.options.autoClose){e(\"body\").off(\".\"+r.namespace);if(r.options.trigger==\"hover\"){if(u){setTimeout(function(){e(\"body\").on(\"touchstart.\"+r.namespace,function(){r.hide()})},0)}if(r.options.interactive){if(u){r.$tooltip.on(\"touchstart.\"+r.namespace,function(e){e.stopPropagation()})}var p=null;r.$elProxy.add(r.$tooltip).on(\"mouseleave.\"+r.namespace+\"-autoClose\",function(){clearTimeout(p);p=setTimeout(function(){r.hide()},r.options.interactiveTolerance)}).on(\"mouseenter.\"+r.namespace+\"-autoClose\",function(){clearTimeout(p)})}else{r.$elProxy.on(\"mouseleave.\"+r.namespace+\"-autoClose\",function(){r.hide()})}if(r.options.hideOnClick){r.$elProxy.on(\"click.\"+r.namespace+\"-autoClose\",function(){r.hide()})}}else if(r.options.trigger==\"click\"){setTimeout(function(){e(\"body\").on(\"click.\"+r.namespace+\" touchstart.\"+r.namespace,function(){r.hide()})},0);if(r.options.interactive){r.$tooltip.on(\"click.\"+r.namespace+\" touchstart.\"+r.namespace,function(e){e.stopPropagation()})}}}}if(r.options.timer>0){r.timerHide=setTimeout(function(){r.timerHide=null;r.hide()},r.options.timer+s)}}})},_interval_set:function(){var t=this;t.checkInterval=setInterval(function(){if(e(\"body\").find(t.$el).length===0||e(\"body\").find(t.$elProxy).length===0||t.Status==\"hidden\"||e(\"body\").find(t.$tooltip).length===0){if(t.Status==\"shown\"||t.Status==\"appearing\")t.hide();t._interval_cancel()}else{if(t.options.positionTracker){var n=t._repositionInfo(t.$elProxy),r=false;if(o(n.dimension,t.elProxyPosition.dimension)){if(t.$elProxy.css(\"position\")===\"fixed\"){if(o(n.position,t.elProxyPosition.position))r=true}else{if(o(n.offset,t.elProxyPosition.offset))r=true}}if(!r){t.reposition();t.options.positionTrackerCallback.call(t,t.$el)}}}},200)},_interval_cancel:function(){clearInterval(this.checkInterval);this.checkInterval=null},_content_set:function(e){if(typeof e===\"object\"&&e!==null&&this.options.contentCloning){e=e.clone(true)}this.Content=e},_content_insert:function(){var e=this,t=this.$tooltip.find(\".tooltipster-content\");if(typeof e.Content===\"string\"&&!e.options.contentAsHTML){t.text(e.Content)}else{t.empty().append(e.Content)}},_update:function(e){var t=this;t._content_set(e);if(t.Content!==null){if(t.Status!==\"hidden\"){t._content_insert();t.reposition();if(t.options.updateAnimation){if(l()){t.$tooltip.css({width:\"\",\"-webkit-transition\":\"all \"+t.options.speed+\"ms, width 0ms, height 0ms, left 0ms, top 0ms\",\"-moz-transition\":\"all \"+t.options.speed+\"ms, width 0ms, height 0ms, left 0ms, top 0ms\",\"-o-transition\":\"all \"+t.options.speed+\"ms, width 0ms, height 0ms, left 0ms, top 0ms\",\"-ms-transition\":\"all \"+t.options.speed+\"ms, width 0ms, height 0ms, left 0ms, top 0ms\",transition:\"all \"+t.options.speed+\"ms, width 0ms, height 0ms, left 0ms, top 0ms\"}).addClass(\"tooltipster-content-changing\");setTimeout(function(){if(t.Status!=\"hidden\"){t.$tooltip.removeClass(\"tooltipster-content-changing\");setTimeout(function(){if(t.Status!==\"hidden\"){t.$tooltip.css({\"-webkit-transition\":t.options.speed+\"ms\",\"-moz-transition\":t.options.speed+\"ms\",\"-o-transition\":t.options.speed+\"ms\",\"-ms-transition\":t.options.speed+\"ms\",transition:t.options.speed+\"ms\"})}},t.options.speed)}},t.options.speed)}else{t.$tooltip.fadeTo(t.options.speed,.5,function(){if(t.Status!=\"hidden\"){t.$tooltip.fadeTo(t.options.speed,1)}})}}}}else{t.hide()}},_repositionInfo:function(e){return{dimension:{height:e.outerHeight(false),width:e.outerWidth(false)},offset:e.offset(),position:{left:parseInt(e.css(\"left\")),top:parseInt(e.css(\"top\"))}}},hide:function(n){var r=this;if(n)r.callbacks.hide.push(n);r.callbacks.show=[];clearTimeout(r.timerShow);r.timerShow=null;clearTimeout(r.timerHide);r.timerHide=null;var i=function(){e.each(r.callbacks.hide,function(e,t){t.call(r.$el)});r.callbacks.hide=[]};if(r.Status==\"shown\"||r.Status==\"appearing\"){r.Status=\"disappearing\";var s=function(){r.Status=\"hidden\";if(typeof r.Content==\"object\"&&r.Content!==null){r.Content.detach()}r.$tooltip.remove();r.$tooltip=null;e(t).off(\".\"+r.namespace);e(\"body\").off(\".\"+r.namespace).css(\"overflow-x\",r.bodyOverflowX);e(\"body\").off(\".\"+r.namespace);r.$elProxy.off(\".\"+r.namespace+\"-autoClose\");r.options.functionAfter.call(r.$el,r.$el);i()};if(l()){r.$tooltip.clearQueue().removeClass(\"tooltipster-\"+r.options.animation+\"-show\").addClass(\"tooltipster-dying\");if(r.options.speed>0)r.$tooltip.delay(r.options.speed);r.$tooltip.queue(s)}else{r.$tooltip.stop().fadeOut(r.options.speed,s)}}else if(r.Status==\"hidden\"){i()}return r},show:function(e){this._showNow(e);return this},update:function(e){return this.content(e)},content:function(e){if(typeof e===\"undefined\"){return this.Content}else{this._update(e);return this}},reposition:function(){var n=this;if(e(\"body\").find(n.$tooltip).length!==0){n.$tooltip.css(\"width\",\"\");n.elProxyPosition=n._repositionInfo(n.$elProxy);var r=null,i=e(t).width(),s=n.elProxyPosition,o=n.$tooltip.outerWidth(false),u=n.$tooltip.innerWidth()+1,a=n.$tooltip.outerHeight(false);if(n.$elProxy.is(\"area\")){var f=n.$elProxy.attr(\"shape\"),l=n.$elProxy.parent().attr(\"name\"),c=e('img[usemap=\"#'+l+'\"]'),h=c.offset().left,p=c.offset().top,d=n.$elProxy.attr(\"coords\")!==undefined?n.$elProxy.attr(\"coords\").split(\",\"):undefined;if(f==\"circle\"){var v=parseInt(d[0]),m=parseInt(d[1]),g=parseInt(d[2]);s.dimension.height=g*2;s.dimension.width=g*2;s.offset.top=p+m-g;s.offset.left=h+v-g}else if(f==\"rect\"){var v=parseInt(d[0]),m=parseInt(d[1]),y=parseInt(d[2]),b=parseInt(d[3]);s.dimension.height=b-m;s.dimension.width=y-v;s.offset.top=p+m;s.offset.left=h+v}else if(f==\"poly\"){var w=[],E=[],S=0,x=0,T=0,N=0,C=\"even\";for(var k=0;kT){T=L;if(k===0){S=T}}if(LN){N=L;if(k==1){x=N}}if(Li){r=A-(i+n-o);A=i+n-o}}function B(n,r){if(s.offset.top-e(t).scrollTop()-a-_-12<0&&r.indexOf(\"top\")>-1){P=n}if(s.offset.top+s.dimension.height+a+12+_>e(t).scrollTop()+e(t).height()&&r.indexOf(\"bottom\")>-1){P=n;M=s.offset.top-a-_-12}}if(P==\"top\"){var j=s.offset.left+o-(s.offset.left+s.dimension.width);A=s.offset.left+D-j/2;M=s.offset.top-a-_-12;H();B(\"bottom\",\"top\")}if(P==\"top-left\"){A=s.offset.left+D;M=s.offset.top-a-_-12;H();B(\"bottom-left\",\"top-left\")}if(P==\"top-right\"){A=s.offset.left+s.dimension.width+D-o;M=s.offset.top-a-_-12;H();B(\"bottom-right\",\"top-right\")}if(P==\"bottom\"){var j=s.offset.left+o-(s.offset.left+s.dimension.width);A=s.offset.left-j/2+D;M=s.offset.top+s.dimension.height+_+12;H();B(\"top\",\"bottom\")}if(P==\"bottom-left\"){A=s.offset.left+D;M=s.offset.top+s.dimension.height+_+12;H();B(\"top-left\",\"bottom-left\")}if(P==\"bottom-right\"){A=s.offset.left+s.dimension.width+D-o;M=s.offset.top+s.dimension.height+_+12;H();B(\"top-right\",\"bottom-right\")}if(P==\"left\"){A=s.offset.left-D-o-12;O=s.offset.left+D+s.dimension.width+12;var F=s.offset.top+a-(s.offset.top+s.dimension.height);M=s.offset.top-F/2-_;if(A<0&&O+o>i){var I=parseFloat(n.$tooltip.css(\"border-width\"))*2,q=o+A-I;n.$tooltip.css(\"width\",q+\"px\");a=n.$tooltip.outerHeight(false);A=s.offset.left-D-q-12-I;F=s.offset.top+a-(s.offset.top+s.dimension.height);M=s.offset.top-F/2-_}else if(A<0){A=s.offset.left+D+s.dimension.width+12;r=\"left\"}}if(P==\"right\"){A=s.offset.left+D+s.dimension.width+12;O=s.offset.left-D-o-12;var F=s.offset.top+a-(s.offset.top+s.dimension.height);M=s.offset.top-F/2-_;if(A+o>i&&O<0){var I=parseFloat(n.$tooltip.css(\"border-width\"))*2,q=i-A-I;n.$tooltip.css(\"width\",q+\"px\");a=n.$tooltip.outerHeight(false);F=s.offset.top+a-(s.offset.top+s.dimension.height);M=s.offset.top-F/2-_}else if(A+o>i){A=s.offset.left-D-o-12;r=\"right\"}}if(n.options.arrow){var R=\"tooltipster-arrow-\"+P;if(n.options.arrowColor.length<1){var U=n.$tooltip.css(\"background-color\")}else{var U=n.options.arrowColor}if(!r){r=\"\"}else if(r==\"left\"){R=\"tooltipster-arrow-right\";r=\"\"}else if(r==\"right\"){R=\"tooltipster-arrow-left\";r=\"\"}else{r=\"left:\"+Math.round(r)+\"px;\"}if(P==\"top\"||P==\"top-left\"||P==\"top-right\"){var z=parseFloat(n.$tooltip.css(\"border-bottom-width\")),W=n.$tooltip.css(\"border-bottom-color\")}else if(P==\"bottom\"||P==\"bottom-left\"||P==\"bottom-right\"){var z=parseFloat(n.$tooltip.css(\"border-top-width\")),W=n.$tooltip.css(\"border-top-color\")}else if(P==\"left\"){var z=parseFloat(n.$tooltip.css(\"border-right-width\")),W=n.$tooltip.css(\"border-right-color\")}else if(P==\"right\"){var z=parseFloat(n.$tooltip.css(\"border-left-width\")),W=n.$tooltip.css(\"border-left-color\")}else{var z=parseFloat(n.$tooltip.css(\"border-bottom-width\")),W=n.$tooltip.css(\"border-bottom-color\")}if(z>1){z++}var X=\"\";if(z!==0){var V=\"\",J=\"border-color: \"+W+\";\";if(R.indexOf(\"bottom\")!==-1){V=\"margin-top: -\"+Math.round(z)+\"px;\"}else if(R.indexOf(\"top\")!==-1){V=\"margin-bottom: -\"+Math.round(z)+\"px;\"}else if(R.indexOf(\"left\")!==-1){V=\"margin-right: -\"+Math.round(z)+\"px;\"}else if(R.indexOf(\"right\")!==-1){V=\"margin-left: -\"+Math.round(z)+\"px;\"}X=''}n.$tooltip.find(\".tooltipster-arrow\").remove();var K='
      '+X+'
      ';n.$tooltip.append(K)}n.$tooltip.css({top:Math.round(M)+\"px\",left:Math.round(A)+\"px\"})}return n},enable:function(){this.enabled=true;return this},disable:function(){this.hide();this.enabled=false;return this},destroy:function(){var t=this;t.hide();if(t.$el[0]!==t.$elProxy[0]){t.$elProxy.remove()}t.$el.removeData(t.namespace).off(\".\"+t.namespace);var n=t.$el.data(\"tooltipster-ns\");if(n.length===1){var r=null;if(t.options.restoration===\"previous\"){r=t.$el.data(\"tooltipster-initialTitle\")}else if(t.options.restoration===\"current\"){r=typeof t.Content===\"string\"?t.Content:e(\"
      \").append(t.Content).html()}if(r){t.$el.attr(\"title\",r)}t.$el.removeClass(\"tooltipstered\").removeData(\"tooltipster-ns\").removeData(\"tooltipster-initialTitle\")}else{n=e.grep(n,function(e,n){return e!==t.namespace});t.$el.data(\"tooltipster-ns\",n)}return t},elementIcon:function(){return this.$el[0]!==this.$elProxy[0]?this.$elProxy[0]:undefined},elementTooltip:function(){return this.$tooltip?this.$tooltip[0]:undefined},option:function(e,t){if(typeof t==\"undefined\")return this.options[e];else{this.options[e]=t;return this}},status:function(){return this.Status}};e.fn[r]=function(){var t=arguments;if(this.length===0){if(typeof t[0]===\"string\"){var n=true;switch(t[0]){case\"setDefaults\":e.extend(i,t[1]);break;default:n=false;break}if(n)return true;else return this}else{return this}}else{if(typeof t[0]===\"string\"){var r=\"#*$~&\";this.each(function(){var n=e(this).data(\"tooltipster-ns\"),i=n?e(this).data(n[0]):null;if(i){if(typeof i[t[0]]===\"function\"){var s=i[t[0]](t[1],t[2])}else{throw new Error('Unknown method .tooltipster(\"'+t[0]+'\")')}if(s!==i){r=s;return false}}else{throw new Error(\"You called Tooltipster's \\\"\"+t[0]+'\" method on an uninitialized element')}});return r!==\"#*$~&\"?r:this}else{var o=[],u=t[0]&&typeof t[0].multiple!==\"undefined\",a=u&&t[0].multiple||!u&&i.multiple,f=t[0]&&typeof t[0].debug!==\"undefined\",l=f&&t[0].debug||!f&&i.debug;this.each(function(){var n=false,r=e(this).data(\"tooltipster-ns\"),i=null;if(!r){n=true}else if(a){n=true}else if(l){console.log('Tooltipster: one or more tooltips are already attached to this element: ignoring. Use the \"multiple\" option to attach more tooltips.')}if(n){i=new s(this,t[0]);if(!r)r=[];r.push(i.namespace);e(this).data(\"tooltipster-ns\",r);e(this).data(i.namespace,i)}o.push(i)});if(a)return o;else return this}}};var u=!!(\"ontouchstart\"in t);var a=false;e(\"body\").one(\"mousemove\",function(){a=true})})(jQuery,window,document);","module.exports = require(\"github:iamceege/tooltipster@3.3.0/js/jquery.tooltipster.min.js\");","define([\"jquery\", \"knockout\", \"jquery-tooltipster\", \"styles/custom/tooltipster-custom.css!\"],\r\n function($, ko) {\r\n ko.bindingHandlers.tooltipster = {\r\n init: function(element, valueAccessor) {\r\n var position = \"top-left\";\r\n var delay = 100;\r\n var trigger = \"hover\";\r\n var value = ko.unwrap(valueAccessor());\r\n if (value) {\r\n position = ko.unwrap(value\r\n .position) ||\r\n position; //right, left, top, top-right, top-left, bottom, bottom-right, bottom-left\r\n delay = ko.unwrap(value.delay) || delay;\r\n trigger = ko.unwrap(value.trigger) || trigger; //hover, click\r\n }\r\n $(element)\r\n .tooltipster({\r\n delay: delay,\r\n position: position,\r\n trigger: trigger\r\n });\r\n },\r\n after: [\"attr\"]\r\n };\r\n });","define([\"jquery\", \"knockout\"],\r\n function($, ko) {\r\n ko.bindingHandlers.onEnter = {\r\n init: function(element, valueAccessor, allBindings, viewModel) {\r\n var callback = valueAccessor();\r\n $(element)\r\n .keydown(function(event) {\r\n var keyCode = (event.which ? event.which : event.keyCode);\r\n if (keyCode === 13 && !event.shiftKey) {\r\n callback.call(viewModel, viewModel);\r\n return false;\r\n }\r\n return true;\r\n });\r\n }\r\n };\r\n });","define([\"jquery\", \"knockout\", \"moment\"],\r\n function ($, ko) {\r\n ko.bindingHandlers.numberFormat = {\r\n update: function (element, valueAccessor) {\r\n var val = ko.unwrap(valueAccessor());\r\n var $element = $(element);\r\n if (val || val == 0) {\r\n var resultString = val.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, \"$1 \");\r\n $element.text(resultString);\r\n } else {\r\n $element.text(\"\");\r\n }\r\n }\r\n };\r\n });","define(\r\n [\r\n \"scripts/utils/bindings/datetimepicker\",\r\n \"scripts/utils/bindings/multiselect\",\r\n \"scripts/utils/bindings/multiInput\",\r\n \"scripts/utils/bindings/tooltipster\",\r\n \"scripts/utils/bindings/onEnter\",\r\n \"scripts/utils/bindings/numberFormat\"\r\n ],\r\n function() {});","define(\r\n [\r\n \"scripts/main\",\r\n \"knockout\",\r\n \"jquery\",\r\n \"scripts/search/form\",\r\n \"scripts/statistics/statistics\",\r\n \"sa-utils\",\r\n \"scripts/home/index-bindings\"\r\n ],\r\n function(main, ko, $, SearchForm, Statistics, utils) {\r\n var HomeViewModel = function(options) {\r\n var self = this;\r\n\r\n self.SearchForm = new SearchForm(options.initialData.Filter); \r\n self.FormId = options.formId;\r\n\r\n self.IsLoading = ko.observable(false);\r\n self.RefreshTimeoutSuccess = options.refreshTimeoutSuccess;\r\n self.RefreshTimeoutError = options.refreshTimeoutError;\r\n self.Statistics = new Statistics();\r\n self.refreshStatistics();\r\n }\r\n HomeViewModel.prototype.search = function() {\r\n var self = this;\r\n if (!self.SearchForm.IsExtended()) {\r\n self.SearchForm.clearExtended();\r\n }\r\n // Приводим к UTC\r\n var formFields = self.SearchForm.FormFields;\r\n if (formFields.PublicationDate) {\r\n var maxDate = formFields.PublicationDate.MaxValue();\r\n if (maxDate && maxDate instanceof Date) {\r\n formFields.PublicationDate.MaxValue(utils.transformDateToUtcString(maxDate));\r\n }\r\n var minDate = formFields.PublicationDate.MinValue();\r\n if (minDate && minDate instanceof Date) {\r\n formFields.PublicationDate.MinValue(utils.transformDateToUtcString(minDate));\r\n }\r\n }\r\n $(self.FormId).submit();\r\n }\r\n HomeViewModel.prototype.refreshStatistics = function () {\r\n var self = this;\r\n if (self.IsLoading()) {\r\n return;\r\n }\r\n self.IsLoading(true);\r\n $.ajax(window.page.urls.Statistics.GetStatistics,\r\n {\r\n headers: window.page.token,\r\n type: \"POST\",\r\n dataType: \"json\",\r\n contentType: \"application/json; charset=utf-8\"\r\n })\r\n .done(function (result) {\r\n if (utils.checkAndHandleCustomError(result)) {\r\n setTimeout(self.refreshStatistics.bind(self), self.RefreshTimeoutError);\r\n return;\r\n }\r\n self.Statistics.refresh(result.Result);\r\n setTimeout(self.refreshStatistics.bind(self), self.RefreshTimeoutSuccess);\r\n })\r\n .fail(function (xhr, status, error) {\r\n utils.handleAjaxError(xhr, status, error);\r\n setTimeout(self.refreshStatistics.bind(self), self.RefreshTimeoutError);\r\n })\r\n .always(function () {\r\n self.IsLoading(false);\r\n });\r\n }\r\n return HomeViewModel;\r\n }\r\n);"]}